Various Systems and Methods for Expressing An opinion

ABSTRACT

The opinion expression application enables a user of the client device to conduct a public-initiated open-ended poll that is event-time specific in duration to express likes and dislikes about anything and anyone associated with the event. A subject field on a user interface enables the user of the client device to choose exactly about what subject matter to express his/her opinion on, and then to express his/her opinion level by activating a single opinion level button that has a very specific meaning. A server aggregates the opinion level expressed by activating the opinion level button with all of the other cast opinion levels previously submitted by users of different client machines on this poll. The server feeds the aggregation of the cast opinion levels back to each of the client devices in near real-time to be displayed. The opinion expression application limits a time period when the user can cast an opinion level about the event.

RELATED APPLICATIONS

This application is a continuation in part and claims the benefit ofU.S. patent application titled “ENHANCING PUBLIC OPINION GATHERING ANDDISSEMINATION”, Ser. No. 14/244,776, filed Apr. 3, 2014, which is acontinuation in part and claims the benefit of U.S. patent applicationtitled “VARIOUS METHODS AND APPARATUS FOR ENHANCING PUBLIC OPINIONGATHERING AND DISSEMINATION”, Ser. No. 13/070,201, filed Mar. 23, 2011,which is a Continuation in Part Application and claims the benefit ofU.S. Provisional Patent Application titled “VARIOUS METHODS ANDAPPARATUS FOR ENHANCING PUBLIC OPINION GATHERING AND DISSEMINATION”,Ser. No. 61/316,535, filed Mar. 23, 2010, all of which are herebyincorporated by reference.

NOTICE OF COPYRIGHT

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the interconnect asit appears in the U.S. Patent and Trademark Office Patent file orrecords, but otherwise reserves all copyright rights whatsoever.

FIELD

An aspect of an embodiment relates to an intelligent way to allow thepublic/users to initiate a survey/opinion poll that can be aggregatedand categorized.

BACKGROUND

In the past, most of the opinion systems were either survey-based, inwhich the questionnaire decides what opinions are expressed, or ifuser-initiated, the user expresses his/her opinion in text and almostfree format which mostly can lead to many opinions being expressed inmultiple sentences, or paragraphs, making them hard to search, specificsmixed hidden in broad terms, difficult to analyze or compare, etc. Incases where a quantized method was used (e.g., numbered rating), thesubject was pre-selected and then provided to the user, hence limitingthe user's ability to very specifically select a subject.

SUMMARY OF THE INVENTION

Various systems and methods to express an opinion are discussed. In anembodiment, an opinion expression application is resident on a clientdevice that has a communication circuit. The opinion expressionapplication is configured to use the communication circuit tocommunicate over a network with a server with a database. The clientdevice is configured to cooperate with the server to enable a user ofthe client device to conduct a public-initiated open-ended poll that isevent-time specific in duration to express 1) likes, 2) dislikes or 3)any combination of the two about anything and anyone associated with theevent. A module is configured to present a subject field on a userinterface to enable the user of the client device to choose exactlyabout what subject matter to express his/her opinion on, and then toexpress his/her opinion level by activating a single opinion levelbutton that has a very specific meaning. The single opinion level buttonis part of a limited set of opinion level buttons each with a veryspecific meaning. The opinion expression application, via thecommunication circuit of the client device, is configured to communicateany content entered into the subject field of the user interface to setthe subject matter of the open-ended public-initiated poll over thenetwork to the server. A software program resident on the server takesin any details of the open-ended public-initiated poll and stores themin the database. The server aggregates the opinion level expressed byactivating the opinion level button with all of the other cast opinionlevels previously submitted by users of different client machines onthis open-ended public-initiated poll. The server is configured to feedthe aggregation of the cast opinion levels back to each of the clientdevices in near real-time, which is less than thirty seconds from thetime that a first opinion level expressed is received by the server, tobe displayed on a display screen of that client device. After thesubject matter is set and the aggregation of the cast opinion levels issent back the first time, then the server is configured to thenperiodically supply a current aggregation of the cast opinion levelsback to each of the client devices to update the display of these castopinion levels. The opinion expression application resident on theclient device has a template for the open-ended public-initiated poll toallow greater specificity and user customizing of a subject matteropen-ended public-initiated poll to the user initiating this poll. Theopinion expression application may have the user interface coded topresent the subject field or the user interface coded to present thesubject field may be part of a server app or plug-in. The opinionexpression application is configured to limit a time period when theuser can cast an opinion level about the event. The opinion expressionapplication is configured to set a duration of voting to express anopinion on the event, which is time specific in duration from abeginning of the event until up to a fixed period in time, such as tenminutes, after the event concludes. Thus, voting to cast the opinionlevel can occur at a start of an event, such as a live Televisionprogram, voting can occur during a conducting of the event, and votingcan occur up to ten minutes after the event concludes. Note, any portionof the server implemented in software and any software implemented onthe client device are both stored on their own computer readable mediumin an executable format.

In an embodiment, computing devices implement this method in aclient-server environment to facilitate an open-ended public-initiatedpoll on the event. The open-ended public-initiated poll is initiated ona media space. A user of a client device in the client-serverenvironment initiates the open-ended public-initiated poll on the eventand also participates then in that open-ended public-initiated poll. Theuser initiated open-ended public-initiated poll is conducted on themedia space on a server. The opinion expression application isconfigured to limit a time period when the user can cast an opinionlevel about the event. The opinion expression application limits theuser to express an opinion level about anything associated with theevent by activating of one of a set of i) software-based opinion levelbuttons or ii) hardware-based opinion level buttons, and iii) anycombination of both, by 1) touching one of the set of opinion levelbuttons, 2) speaking into the client device and then the opinion levelbeing translated via a speech to text application, 3) shaking the clientdevice a particular number of times, or 4) tapping on the client deviceand the tapping being translated to a correlating opinion level button,in order to enable the user to express their opinion level about theevent. The opinion expression application transmits details over anetwork to the server and then the server taking in any details of theopen-ended public-initiated poll on the event. The server aggregates theopinion level expressed by the activating the one opinion level buttonwith all of the other cast opinion levels previously submitted by usersof different client machines on this open-ended public-initiated poll.The server feeds the aggregation of the cast opinion levels back to aplurality of client devices in near real-time, which is a fixed shorttime, such as less than thirty seconds, from the time that an initialopinion level expressed is received by the server, to be displayed on adisplay screen of that client device. After the subject matter is setand the aggregation of the cast opinion levels is sent back the firsttime, then periodically, such as every 15 seconds, supplying a currentaggregation of the cast opinion levels back to each of the clientdevices to update the display of these cast opinion levels.

In an embodiment, the opinion expression application solicits opinionsbased on geographical proximity triggers. The opinion expressionapplication is resident on a client device that has a communicationcircuit. The opinion expression application is configured to use thecommunication circuit to communicate over a network with a server with adatabase. The opinion expression application is configured to cooperatewith the server to enable a user of the client device to participate ina topic of opinion that to express 1) likes, 2) dislikes or 3) anycombination of the two about anything and anyone associated with aproduct or a service. The opinion expression application is configuredto solicit an opinion and/or present recorded opinions based on one ormore geographical proximity triggers. A module is configured to presentthe topic of opinion on the product or service to the user of the clientdevice. The opinion expression application is configured to cooperatewith the communications circuit in the client device to use a wirelesstechnology including any of NFC, Bluetooth, and 802.11 wirelessprotocol, to sense if any geographical proximity trigger is in range toindicate that the topic of opinion regarding a nearby product and/orservice is on record in the databases associated with the server. Aftersensing the topic of opinion, the application requests that the serverprovide the client device with a snapshot of other users' opinions todate about the product or the service. The application is configured forthe user to be able to cast his/her opinion level about the product orthe service by activating a single opinion level button that has thevery specific meaning, where the single opinion level button is part ofthe limited set of opinion level buttons each with a very specificmeaning.

BRIEF DESCRIPTION OF THE DRAWINGS

The multiple drawings refer to example embodiments of the invention.

FIG. 1 illustrates a diagram of an embodiment of a client-server networkenvironment to implement the user-initiated opinion polling system.

FIG. 2 illustrates a diagram of an embodiment of an opinion pollpresented by a module to a user of a client device.

FIG. 3 illustrates a diagram of an embodiment of a plug in typeapplication to implement the user-initiated opinion polling system.

FIG. 4 illustrates a diagram of an embodiment of an opinion pollpresented by a module to a user of a client device.

FIG. 5 illustrates a diagram of an embodiment of the user-initiatedopinion polling system on a receiver/re-transmitter device.

FIG. 6 illustrates a diagram of an embodiment of a user expressing anopinion in the client device and its application command structure.

FIGS. 7 a and 7 b illustrate a diagram of an embodiment of theuser-initiated opinion polling with a transparent graphic overlay.

FIG. 8 illustrates a traditional search algorithm.

FIG. 9 illustrates an exemplary search and add algorithm according toembodiments described herein.

FIG. 10 illustrates an exemplary flow diagram implementing an algorithmto execute the geographic verification as described herein.

FIG. 11A illustrates an exemplary user interface for selecting ageographic location to be associated with a given subject matter.

FIG. 11B illustrates an exemplary user interface for creating and/orediting a new topic within the opinion polling system.

FIG. 12 illustrates an exemplary process for maintaining the associationof topics and opinions with anonymous users, while preserving theiranonymity until they have decided to join the opinion polling system asan identified or registered user.

FIG. 13 illustrates an exemplary process for maintaining the associationof topics and opinions of non-anonymous users, and associating previousactivities while as anonymous users once the user becomes an identifiedor registered user.

FIGS. 14 and 15 illustrate exemplary screen shots of an interface ofembodiments of the system including a public initiated opinion poll.

FIG. 16 is an example screen shot of the opinion expression applicationresident on a smartphone of a user who is expressing his/her opinionsduring an event.

FIG. 17 is an example screen shot of the opinion expression applicationdisplaying the feedback of the aggregation of the cast opinion levels tothe display screen of the client device in near real-time.

FIG. 18 is an example screen shot of the opinion expression applicationdisplaying the periodically supplied current aggregation of the castopinion levels back to each of the client devices to update the displayof these cast opinion levels.

FIG. 19 is an example block diagram of the opinion expressionapplication that solicits an opinion and/or presents recorded opinionsbased on one or more geographical proximity triggers.

FIG. 20 is an example block diagram of the opinion expressionapplication that solicits an opinion and/or presents recorded opinionsbased on one or more geographical proximity triggers relative to theclient device's current GPS position.

FIG. 21 is an example block diagram of the opinion expressionapplication cooperating with the server is configured to synchronizeopinion levels cast with time-sensitive, unscheduled topics via use ofhigh-frequency synchronization codes, which are provided to contentproviders that are subsequently embedded in content prior todistribution of the content of the event.

FIG. 22 illustrates an embodiment of an application resident on awearable electronic client device that captures and logs movement tocorrelate this to an expressed opinion level of a user wearing thewearable electronic client device.

FIG. 23 illustrates an embodiment of group of people applauding whilewearing smart watches that detect, record, and communicate theirapplause to a backend server.

While the invention is subject to various modifications and alternativeforms, specific embodiments thereof have been shown by way of example inthe drawings and will herein be described in detail. The inventionshould be understood to not be limited to the particular formsdisclosed, but on the contrary, the intention is to cover allmodifications, equivalents, and alternatives falling within the spiritand scope of the invention.

DETAILED DISCUSSION

In the following description, numerous specific details are set forth,such as examples of specific routines, named components, connections,Internet opinion polling technology, etc., in order to provide athorough understanding of the present invention. It will be apparent,however, to one skilled in the art that the present invention may bepracticed without these specific details. In other instances, well-knowncomponents or methods have not been described in detail but rather in ablock diagram in order to avoid unnecessarily obscuring the presentinvention. Thus, the specific details set forth are merely exemplary.The specific details may be varied from and still be contemplated to bewithin the spirit and scope of the present invention. Multipleembodiments will be discussed and it is understood by the inventors ofthis application that features of a first embodiment may also beimplement another embodiment.

In general, an opinion expression application with various features andimplementations is discussed. In an embodiment, the opinion expressionapplication cooperates with a server to allow event-time specific,time-based, opinion casting, and then display and sharing of the castopinions on the event. In an embodiment, the opinion expressionapplication cooperates with a server to solicit opinions and/or presentalready cast opinions on nearby products and services based ongeographical proximity triggers.

FIGS. 16-21 illustrate example embodiments of systems and methodsregarding an opinion expression application.

Event-Time Specific Time-Based Opinion Casting, Display, and Sharing

FIG. 16 is an example screen shot of the opinion expression applicationresident on a smartphone of a user who is expressing his/her opinionsduring an event. FIG. 17 is an example screen shot of the opinionexpression application displaying the feedback of the aggregation of thecast opinion levels onto the display screen of the client device in nearreal-time. FIG. 18 is an example screen shot of the opinion expressionapplication displaying the periodically supplied current aggregation ofthe cast opinion levels back to each of the client devices to update thedisplay of these cast opinion levels. These three figures areconsecutive screen shots of the smartphone of the user who is expressinghis/her opinions using the opinion expression application 160 during anexample event (TV broadcast of a debate).

The opinion expression application 160 may be resident on a clientdevice that has a communication circuit. The opinion expressionapplication 160 is configured to use the communication circuit tocommunicate over a network with a server with a database. The opinionexpression application 160 is configured to use the communicationcircuit to cooperate with the server to enable a user of the clientdevice to conduct a public-initiated open-ended poll that is event-timespecific in duration to express 1) likes, 2) dislikes or 3) anycombination of the two about anything and anyone associated with theevent. A module is configured to present a subject field on a userinterface to enable the user of the client device to choose exactlyabout what subject matter to express his/her opinion on, and then toexpress his/her opinion level by activating a single opinion levelbutton that has a very specific meaning. The single opinion level buttonis part of a limited set of opinion level buttons each with a veryspecific meaning. The opinion expression application 160, via thecommunication circuit of the client device, is configured to communicateany content entered into the subject field of the user interface to setthe subject matter of the open-ended public-initiated poll over thenetwork to the server.

A software program resident on the server takes in any details of theopen-ended public-initiated poll and stores them in the database. Theserver aggregates the opinion level expressed by activating the opinionlevel button with all of the other cast opinion levels previouslysubmitted by users of different client machines on this open-endedpublic-initiated poll. The server is configured to feed the aggregationof the cast opinion levels back to each of the client devices in nearreal-time, which is a fixed short time, such as less than thirtyseconds, from the time that a first opinion level expressed is receivedby the server, to be displayed on a display screen of that clientdevice. After the subject matter is set and the aggregation of the castopinion levels is sent back the first time, then the server isconfigured to then periodically supply a current aggregation of the castopinion levels back to each of the client devices to update the displayof these cast opinion levels.

The opinion expression application 160 resident on the client device hasa template for the open-ended public-initiated poll to allow greaterspecificity and user customizing of a subject matter open-endedpublic-initiated poll to the user initiating this poll. The opinionexpression application 160 may have the user interface coded to presentthe subject field or the user interface coded to present the subjectfield may be part of a server app or plug-in.

The opinion expression application 160 is configured to limit a timeperiod when the user can cast an opinion level about the event. Theopinion expression application 160 is configured to set a duration ofvoting to express an opinion on the event, which is time specific induration from a beginning of the event until up to a fixed period intime, such as ten minutes, after the event concludes. Thus, voting tocast the opinion level can occur at a start of an event, such as a liveTelevision program, voting can occur during a conducting of the event,and voting can occur up to ten minutes after the event concludes.

An event is any activity that has duration, taking place in a specifictime period having a start time and end time, which may be a short orlong specific time period. Examples of events are TV shows, movies,debates, lectures, theater plays, classroom lessons, games, sportsmatches, concerts, video chats or small group stream casts, etc. in realtime, or playback on TV, Internet, or through other playback mechanisms.A user can be an active or passive participant, a viewer, etc. Theopinion expression application 160 is configured to cast an opinionlevel and then show the ongoing results in real time (substantiallyconcurrent with the event).

Today, there exist multiple ways for users to express their opinionsabout events, or to view other people opinions about all kinds of eventsor later. These are: various ratings types, social media posts (e.g.,Facebook posts, Twitter tweets, etc.), comments placed on websites, textmessage-based polls (e.g., American Idol, etc.). Some key limitations ofcurrent event opinion/feedback mechanisms are:

-   -   Diversity of comments in their generality or specificity    -   Difficulty of comparing opinions of different users at a quick        glance    -   Impossibility for users to express opinions about specific        moments in an event, in a digitally analogous way to applauding,        or booing, which are the top two preferred ways of expressing        opinions about an event in person!    -   Tweets are informative, however, they do not systematically and        directly inform people (the viewers), or the broadcaster,        exactly what parts of the program the user liked, disliked, or        expressed neutral opinion about.

The opinion expression application 160 cooperating with the serverallows diversity of comments in their generality or specificity. Theopinion expression application 160 cooperating with the server allowscomparing opinions of different users at a quick glance. The opinionexpression application 160 cooperating with the server allows users toexpress opinions about specific moments in an event, in a digitallyanalogous way to applauding or booing, which are the top two preferredways of expressing opinions about an event in person. The opinionexpression application 160 and its displayed ongoing results of the castopinion levels may be superimposed into the broadcast event and/orposted for all to see on a display during the event, and/or displayedwithin the opinion expression application 160 itself on the clientdevice.

The opinion expression application 160 allows groups of users to expresstheir opinions about events, especially TV programs. During a TV show,the broadcaster for the program, such as “AndersonCooper360”, invitespeople to express their opinions by using the application during theprogram. People (generally viewers), at times hundreds of thousands ifnot millions cast their opinion level and express their general, orspecific opinions, about all aspects of the show content. Examples oftypical subjects of opinions are:

-   -   “AndersonCooper360 ask better questions of the male guest”    -   “I liked half of what Dr. O said on AndersonCooper360 today”    -   “AndersonCooper360 rocks”    -   “Obama White House better respond to “AndersonCooper360        allegation”    -   “Hillary Clinton couldn't defend herself well on        AndersonCooper360

Thus, the opinion expression application 160 cooperates with the serverto provide a mechanism for the user to express his likes/dislikes, aswell as neutral stance, at any specific time during any event in asimple and clear way about THAT specific moment in the event. Theopinion expression application 160 cooperating with the server achievesa tremendously simple, yet extremely powerful, paradigm, which can besaid to in essence be analogous to bringing applauding or booingcapability, to any event, anywhere, using the Internet or any otherdigital network, in conjunction with a smartphones, wearable, or othernetwork appliances, such as an Apple or Android watch.

The above examples could also be comments added onto a cast opinionlevel by a user if the subject of the opinion polls was more general innature. The application is further configured with a routine to allow auser to attach an optional comment that can accompany the user's castopinion level including but not limited to expression of i) like, ii)dislike, or iii) neutral about the content of any instant in the event.Therefore, the application is configured for the user to expresseshis/her opinion by the single button activation by way of i) a tap/clickon the button, or a shake of the device corresponding to the button ofchoice, or speak the button of choice into the device with a simpleword(s) opinion. The user interface also presents a field to attach aforty characters or less long comment to the user's cast opinion leveltoo, as desired. Additionally, optional comments that can accompany eachsnap opinion can further elaborate a user's opinion (like, dislike, orneutral) about the content of any instant in the event. Therefore, theuser expresses his opinion by a one-button tap/click, or shake of thedevice, or speak into the device a simple word(s) opinion, andoptionally attach a tweet-long comment to his specific opinion too, asdesired.

These, and all, opinions are informative, and, they can systematicallyand directly inform people (the viewers), or the broadcaster, exactlywhat parts of the program the user liked, disliked, or expressed neutralopinion about.

The opinion expression application 160 cooperating with the serveractively, yet un-disruptively, brings the ‘Focus Group’ (on steroids)paradigm, extending the group reach to any ‘event’, to each and everyeven viewer, audience, spectator, or participant who has access to acomputer network such as the Internet and worldwide web.

The server is further configured with a routine to allow an eventowner/manager to any of i) upload their own reward and ii) utilize atemplate to create a reward, and the server is further configured toelectronically distribute the reward, including coupons, to those usersof client devices who are expressing opinions during the event. Theopinion expression application 160 cooperating with the server allowsthe event owner/manager to electronically distribute rewards (e.g.coupons) to those who are expressing opinions during an event. The eventowner/manager could make the reward distribution randomly based,regionally, or opinion type-based. For example:

-   -   Universal Pictures could give a “free sandwich and drink at        Universal Studios in Hollywood” electronic coupon to people who        watched and liked a Universal movie played on TV in Los Angeles,        while instead give a “25% off an online purchase on Universal        online store” to those who watched and liked the same show        outside California.    -   Or, Universal Pictures could give an electronic reward for “50%        off the price of Superman figurine on Universal online store” to        those who watched the movie ‘Superman’ and liked the Superman        character most, and give “50% off the price of Lois figurine on        Universal online store” to those who liked the Lois character        more.    -   A vendor such as Amazon.Com, through a TV debate program, could        give a discount coupon for purchase of a book about climate        control to those viewers who liked Hillary Clinton in a        presidential debate, and distribute a discount on a book about        Ronald Reagan to those who had liked the GOP candidate's        statements in the same debate.

The opinion expression application 160 cooperating with the serverincreases event viewership, participation, andviewer/audience/spectator/participant engagement in a very measurableand verifiable manner, benefiting all event participants, owners,broadcasters, organizers, etc., making TV viewing, for example, nolonger a passive activity.

The application is further configured with a routine to capture i) eachuser's exact opinion level and ii) an exact time the opinion level andthen cooperates with the communication circuit of the client device tosend these to the server, which includes all of this information as wellas includes a running sum of all the cast opinion levels, which isgraphically displayed as any of i) a graph and ii) a chart on thedisplay of each user's client device.

A TV show (debate) example: During a TV show, such as a PresidentialDebate, viewers from around the world will be activating, such as:pressing their opinion level buttons, simply shake/tap their devices, orspeaking their snap opinion into their devices anytime they like ordislike something they viewed/heard. Their exact opinion and the exacttime of the opinion is then captured and included in a running sum ofall opinions. A universal, or regional, complete, or partial chart ofopinions (as selected by the user, or the even manager or broadcaster),is dynamically presented to viewers on their smartphone, watch, ornetwork appliance, or online on a computer, and in real time. By viewingthe real-time dynamically changing chart, viewers can see how others'are responding to the ongoing event in the presidential debate. Note,the application cooperating with the server may automatically set thesubject matter of the open-ended public-initiated poll based on theexact time the user casts their opinion level; and thus, segments of theevent may aggregate all of the cast votes approximate in time to theconclusion of that segment.

Thus, the server and the application on the client device are configuredto cooperate such that where the graph or the chart may be separated outand displayed on either a universal or regional basis of cast opinionlevels, and in either a complete or partial chart format of aggregatedopinions and the user interface of the application presents theseoptions as selectable by any of the user, an event manager, and an eventbroadcaster, which is then dynamically generated and presented toviewers on the display of their client device, which includes but is notlimited to a smartphone, a smart watch, a network appliance, or onlineon a computer, and in the near real time.

Referring again to the three consecutive screen shots of the smartphoneof someone who is expressing his/her opinions during such an event (TVbroadcast of a debate) illustrated in FIGS. 16-18. In this example,there are 130 viewers (participants) who are also expressing theiropinions. An example user presses one of the three colored opinionbuttons to express his/her opinion about a specific moment, and watchesthe histogram of all opinions march from right to left in front of hiseyes, in real time. When the module receives confirmation that thesubject matter of the topic of opinion is chosen by the user, then themodule offers the user with a limited number, less than ten, of opinionlevel buttons, which an activation of a given opinion level buttonregisters a certain level of opinion including bad, good, and excellent,and the activating of that opinion level button is recognized by themodule to both set the subject matter of the topic of opinion and theuser's opinion level, and the module then transmits the subject matter,opinion level, the time and date, and any client device sensorinformation collected by the module over the network to the server.

In the first screen shot illustrated in FIG. 16, 13,846 opinions havebeen cast so far in the event. At the moment, 130 Participants arecasting opinions in the event. The example user activated the happy faceopinion level to cast his/her opinion level. Next FIG. 17 illustratesthe example screen shot of the opinion expression application 160displaying the feedback of the aggregation of the cast opinion levelsback to the display screen of the client device in near real-time. Thesecond screen shot is captured a few seconds after the screen shot inFIG. 16. Now, 13,910 opinions have been cast so far in the event. At themoment, 130 Participants are casting opinions in the event. FIG. 18illustrates the example screen shot of the opinion expressionapplication 160 displaying the periodically supplied current aggregationof the cast opinion levels back to each of the client devices to updatethe display of these cast opinion levels. The third screen shot iscaptured a few seconds after the second screen shot illustrated in FIG.17. Now, 13,984 opinions have been cast so far in the event. At themoment, 130 Participants are casting opinions in the event.

As discussed, the server is configured to recognize content in thesubject field as choosing and setting the subject matter of theopen-ended public-initiated poll. The content of the subject field issolely initiated and decided by the user, and not pre-selected by athird party and then presented to the user of the client device to givetheir opinion about that pre-selected subject matter of the open-endedpublic-initiated poll. The user interface and the subject field areconfigured in the application to enable the user of the client device toselect an overall subject matter and even specific features about thatsubject matter, which the user wishes to create the open-endedpublic-initiated poll on. The module is configured to enable the user ofthe client device to choose exactly about what subject matter to expresshis/her opinion on, and then to express his/her opinion level byactivating the single opinion level button that has the very specificmeaning. The single opinion level button is part of the limited set ofopinion level buttons each with a very specific meaning.

The application is further configured to solicit, via a field, menu, orother mechanism, what is a specific content of the event that the useris expressing an opinion level on. A software program resident on theserver is coded to take in any details of the open-endedpublic-initiated poll, aggregate those details with any open-endedpublic-initiated poll data for this open-ended public-initiated pollalready stored in the database, and categorize those details. The serverapplet on the server cooperates over a wide area network with two ormore client machines each having resident applications. The server thenchecks the database to see 1) if the subject content, exactly as chosenor expressed, exists in the database as well as 2) if similar titles ofsubject content exist in the database. The server then returns theexisting open-ended public-initiated poll in a list presented by theapplication for the user to select from if they choose. When an existingpoll is selected, the server returns the existing open-endedpublic-initiated poll and its statistics appear in the form of a chart.

Other Examples of the Opinion Expression Application 160 Cooperatingwith the Server and its Benefits

The opinion expression application 160 limits the user to express anopinion level about anything associated with the event by activating ofone of a set of i) software-based opinion level buttons or ii)hardware-based opinion level buttons, and iii) any combination of both,by 1) touching one of the set of opinion level buttons, 2) speaking intothe client device and then the opinion level being translated via aspeech to text application, 3) shaking the client device a particularnumber of times, or 4) tapping on the client device and the tappingbeing translated to a correlating opinion level button, in order toenable the user to express their opinion level about the event.

1) In a sports stadium, spectators use the opinion expressionapplication 160 cooperating with the server to express opinions aboutplays and referee calls as/when they please, anytime during the game. Atthe end of the match, the MVP is selected based on people'slikes/dislikes of plays of different players during the entire match.Most active/involved spectators can be identified, and rewarded asneeded as well, etc.

2) For a national TV show, viewers use the opinion expressionapplication 160 cooperating with the server to express opinions duringthe program, from around the country. The viewer can not only engagethem with the program more because they are “being heard” (andpossibility of winning rewards for their engagement and opinionexpression), but also provide the program producers specific insightsinto what parts of their programming are liked or disliked by differentdemographics, or even in different times the program is broadcast. Theymight for example learn that people in Alabama do not like the Bobcharacter jokes, while people in New York do, etc. Or, early eveningviewers like the character more than those who watch late in theevening. TV shows could consequently be re-edited for differenttime-slots and demographics based on viewer likes and dislikes ofspecific moments of the program expressed during the program in previousscreenings.

3) In a movie theater, viewers use the opinion expression application160 cooperating with the server to express opinions. Those who have awearable appliance, such as a network watch, can express their opinionabout different parts of the movie, by simple moving their wristslightly one way or another to express Likes or Dislikes. The same canbe achieved by quietly tapping on the smartphone.

4) A spectator/participant in an event in which applauding is allowed,such as sports event, a concert, a lecture, a speech, etc., wearing awatch equipped with our software can have his applause automaticallydetected (by utilizing the watch's accelerometer and/or gyroscope) andconverted to “like” opinion(s), captured, and automatically logged as apositive, “like” opinion(s), for the specific moment of the event wherethe applause was made.

A server applet is configured to compare each user's cast opinion levelto their user profile stored in the database cooperating with the serverto present anonymized demographics data of who by percentage of user'svoting, by demographic categories, liked, disliked, or was neutral tothe subject of the open ended public-initiated poll. The Event OpinionCasting data that is collected can provide much valuable informationincluding, but not limited to, the following information.

1) What specific content of the event (second by second) did peoplelike, dislike or were neutral (unsure) about; which specific part of thecontent, what specific statements made by characters, were liked,disliked, or didn't affect the viewers, which characters gained moreattention or less, how different parts of the event compared to otherparts, etc.

2) WHO (by demographic) liked, disliked, or was neutral (unaffectedeither way) WHAT and WHEN.

3) How many people were expressing opinions, were engaged, and how didthe engagement changed over time during the course of the event? Whatcontent changed the engagement, etc.

4) Broadcasters can distribute specific rewards (coupons) to thoseviewers that cast certain opinions (e.g., if user “likes” the Cokecommercial, signified by his pressing the “like” button during thecommercial, send him (in real-time), a coupon for Coke to his phone, orwatch, immediately after he casts a positive opinions.

People will benefit by the opinion expression application 160cooperating with the server in many ways, including but not limitedto: 1) Express opinions at exactly when they want to; 2) Achieve applaudor boo capability remotely/quietly, on line, as if at the location atthe event; 3) Know that your specific opinions are captured, and taggedto the exact moment/content you had the opinion about; and 4) Receiverelevant rewards, in form of highly targeted (correlated with ownlikes/dislikes) reward coupons from broadcasters, or eventmanagers/owners.

Solicitation of Opinions Based on Geographical/Proximity Triggers

FIG. 19 is an example block diagram of the opinion expressionapplication that solicits an opinion and/or presents recorded opinionsbased on one or more geographical proximity triggers. FIG. 20 is anexample block diagram of the opinion expression application thatsolicits an opinion and/or presents recorded opinions based on one ormore geographical proximity triggers relative to the client device'scurrent GPS position.

The opinion expression application 160 may solicit opinions based ongeographical triggers and/or proximity triggers. The opinion expressionapplication 160 is configured to cooperate with the server to enable auser of the client device to participate in a topic of opinion toexpress 1) likes, 2) dislikes, 3) neutral, or 4) any combination of thethree about anything and anyone associated with a product or a service.The opinion expression application 160 is configured to solicit anopinion and/or present recorded opinions based on one or moregeographical proximity triggers. A module is configured to present thetopic of opinion on the product or the service to the user of the clientdevice. The opinion expression application 160 is configured tocooperate with the communications circuit in the client device to use awireless technology including any of Near Field Communications,Bluetooth, and 802.11 wireless protocol, to sense if any geographicalproximity trigger is in range to indicate that the topic of opinionregarding the nearby product and/or service is on record in thedatabases associated with the server. After sensing the topic ofopinion, the opinion expression application 160 requests that the serverprovide the client device with a snapshot of other users' opinions todate about the product or the service. The opinion expressionapplication 160 is configured for the user to be able to cast his/heropinion level about the product or the service by activating a singleopinion level button that has the very specific meaning. The singleopinion level button is part of the limited set of opinion level buttonseach with a very specific meaning.

Referring to FIG. 19, the opinion expression application 160 can solicitopinions of users of a client device based on geographical proximitytriggers. In step 1, the opinion expression application 160 cooperatingwith the server detects that the client device is not within the rangeof any beacon. In step 2, the opinion expression application 160cooperating with the server identifies that the client device hasentered within the transmission range of beacon number one. In stepnumber 3, the opinion expression application 160 cooperating with theserver identifies the beacon number one, based on its ID sent in thetransmission message, and then retrieves a corresponding topic ofopinion from the database. In step number 4, the opinion expressionapplication 160 recognizes that the client device has entered thesolicitation radius of beacon number one. In step number 5, the opinionexpression application 160 detects that the client device is within thesolicitation range of beacon number one and sends a request to start thereentry timer. In step number 6, the opinion expression application 160recognizes by the either i) the GPS coordinates of the client device orii) that the client device is now within the transmission range of thewireless communication mechanism of the beacon number 2, and concludesthat the user has entered the solicitation range of bacon number 2 anddirects that the reentry timer should now be canceled. In step number 7,the opinion expression application 160 detects that the client deviceexist in the solicitation region of beacon number one and beacon number2. Accordingly, the opinion expression application 160 then restarts thereentry timer. In step number 8, the reentry timer expires and theopinion expression application 160 detects that the reentry timer hasexpired. The opinion expression application 160 resident on the clientdevice now solicits the opinion from the user on the topic of opinionassociated with the product or service.

In contrast to @voting, the application is configured to make it usefulto solicit an opinion when a device leaves the transmission radius of afixed device, such as a cash register, or when the device leaves aspecified radius of a known GPS coordinate.

The application is configured to cooperate with the communicationscircuit in the client device to communicate with a beacon device havinga first geographical proximity trigger, including but not limited to aPoint-of-Sale terminal, a Bluetooth device, a Near Field Communication(NFC) tag, or a Radio Frequency IDentification (RFID) tag, the clientdevice receives one or more identifiers or URIs from the beacon deviceto allow the server to find topic of opinion about the product orservice.

When a device enters the transmission range of a beacon device, such asa Point-of-sale terminal, Bluetooth device, NFC tag, the device receivesan identifier or URI from the beacon. The sensing device running opinionsoftware connects to the Internet to retrieve the topic(s) associatedwith the identifier. Each topic may contain one of both of a GPScoordinate and radius or an identifier and radius. We refer to this asthe solicitation radius. The solicitation region is the unionsolicitation radii. Once a user enters the solicitation region of atopic(s) then their device marks the topics as proximity-active. Thedevice may optionally notify the user that a topic has become active,allowing the user to dismiss the proximity-active status if desired.When a device leaves the solicitation region of a topic and isproximity-active, the device starts a re-entry timer. The re-entry timermay be configurable for each topic, but the timer is subject to aminimum specified duration. The role of the re-entry timer is two-fold.First, the minimum value specified duration would prevent (orsufficiently minimize) the number of accidental solicitations while adevice was within the solicitation region of a topic. Accidentalsolicitations could be caused by, for example, loss or interruption ofthe beacon signal or GPS signal, which causes to the device to falselyconclude that it has left both the solicitation region and/or thetransmission radius of the associated beacon(s). Note here that thesolicitation radius of a beacon-based solicitation is the minimum valueof the topic-owner-specified solicitation radius and the physicaltransmission radius of the beacon. The second role of the re-entry timeris to introduce a delay between devices leaving the solicitation regionof a topic, for example a Point-of-Sale terminal, and when the users ofthe devices are solicited for their opinion on the topic.

The application is configured to use a communications circuit in theclient device to communicate wirelessly with a beacon device having aone or more geographical proximity triggers. The server is configured toretrieve one or more topics associated with one or more identifiers orURIs from the beacon device. Each returned topic contains both a GPScoordinate and solicitation radius. When the client device enters thesolicitation region of a topic, then the application on the clientdevice marks the topic as proximity-active, and the application willsolicit the opinions of the user of the application based ongeographical proximity triggers when the client device, and henceopinion giver, is outside of a geographical area defined by thesolicitation radius.

In an embodiment, the application cooperates with a network appliance,such as a smart watch, a smart wearable device, etc. Smart wearablewatches, such as Android watch or the Apple Watch are examples of a“network appliance”. They work alone or in conjunction with a smartphonecarried by the user. They can be used to collect and disseminateopinions about anything, anywhere, anytime, utilizing the technologydescribed herein. The following are more specific examples of the use ofthese wearable devices.

Examples of the smart watch use cases: While in a store, or anywhereproducts/services are available, a user can use the smart watch(possibly, but not necessarily, in conjunction with a smartphone) tosense the topic/subject of his/her opinion, using NFC, Bluetooth, orother sensing technologies in the watch (or through the attachedsmartphone). For example, a user might want to know what other usershave said about a shirt in a store, a bottle of detergent on a shelf,etc., or additionally he/she might want to express his/her opinion aboutthe shirt, bottle of detergent, etc. After sensing the topic of opinion,the watch will provide the user with a snapshot of other users' opinionsto date about the item. The user will also be able to cast his/heropinion, by tapping on soft opinion buttons (smiley faces), speaking theopinion into the watch, or shaking/tapping it according to his “like”,“dislike”, or “neutral” opinion. Soft shake/tap, or one shake/tap mightimply “dislike”, while harder taps/shapes could stand for “neutral”, or“like” opinions.

The application detects that the user is walking out of a store, and/orthe watch or tethered device detects that user left. The applicationcauses the watch to notify the user to express an opinion. Sensingtechnologies such as Bluetooth, NFC, etc. can be used for locationsensing.

At the point of sale purchase/sale, using any network appliance, such asa smart phone, smart watch or any smart wearable, the device is signaledof a purchase, and the device automatically solicits user/customeropinion about the items(s) purchased, sales process, etc., as well asallowing the user to express his/her opinion about anything elserelating the sales (e.g., color of the item, prices, speed of the checkout process, etc.)

A smart watch may be used for event opinion casting. During a TV show, amovie, a lecture, sports event, etc., the user taps on his smart watchto express his opinion about, or alternately the watch automaticallydetects the users applause and converts them to “like” opinions, sendsthem to the database and shares them online.

The following are example mechanisms for soliciting opinions using theopinion expression application 160. The server cooperating with theopinion expression application 160 detects that a topic has becomepopular in a geographic area and solicits opinions from others in thearea, about that topic. The server cooperating with the opinionexpression application 160 monitors social networks and their opinionsand creates a user-specific ‘survey’ to solicit the opinions of others.

FIG. 20 is an example block diagram of the opinion expressionapplication 160 that solicits an opinion and/or presents recordedopinions based on one or more geographical proximity triggers relativeto the client device's current GPS position. The below image illustratesa second scenario basing the geographical proximity triggers based onthe client device's current GPS. Thus, alternatively, devices mayoccasionally connect to the server and database to retrieve a set oftopics in their geographical vicinity. As before these topics mayspecify solicitation radii based using both GPS coordinates and beacons.The difference here is that the solicitation entry/exit monitoring isnot dependent on the detection of a physical beacon, but by monitoringthe device's current GPS position.

In step 1, the server cooperating with the application on the clientdevice gets periodic updates from the application in order to retrievetopics on nearby products and services to i) the GPS coordinates of theclient device or ii) within range of the solicitation radius. Each topicof opinion stored in the database contains an associated GPS coordinatesand solicitation radius associated with that topic. In step 2, duringthe periodic update from the application the server, the applicationdetects that the client device has now entered the solicitation radiusof a known topic of opinion stored in the database. In step 3, theapplication detects that the client device is currently within thesolicitation radius of the topic of opinion, and then the applicationstarts a reentry timer for the topic of opinion. In step 4, theapplication detects that the reentry timer for the topic of opinion hasexpired based on the threshold set by the owner of the topic of opinion.The application then prompts the user of the client device for theiropinion on the topic of opinion by requesting that they cast theiropinion level.

Method for Opinion Synchronization with Time-Sensitive, UnscheduledTopics

FIG. 21 is an example block diagram of the opinion expressionapplication 160 cooperating with the server is configured to synchronizeopinion levels cast with time-sensitive, unscheduled topics via use ofhigh-frequency synchronization codes, which are provided to contentproviders that are subsequently embedded in content prior todistribution of the content of the event.

A method for opinion synchronization with time sensitive unscheduledtopics is discussed. In step 1, content, such as video content and/oraudio content, is encoded with a synchronization code and played overexisting content players. In step 2, the application running on theclient device listens for the synchronization code and extracts thetopic ID and time index from the synchronization code. In step 3, theapplication on the client device connects to the server in order toretrieve the time sensitive topic or event from the database. In step 4,the application having synchronized with the content playback,subsequent opinions expressed by a user on the client device areuploaded to the server with a synchronize time index.

Some topics solicit opinions based upon events that occur in a topicover a fixed time period. We refer to these time-sensitive topics asevents. An event may be a presidential debate, a performance, a movie,etc. Events may be classified as scheduled or unscheduled. Scheduledevents have a fixed start time and duration. An opinion expressed on ascheduled topic may be quickly mapped to the event that occurred in theunderlying event. A presidential debate, for example, starts and ends ata known time and has well-defined commercial breaks. It is thereforetrivial to associate an opinion with a specific moment in the debate.

Unscheduled events may start at any time and be arbitrarily segmented.Examples of unscheduled events are rebroadcasted content and distributedmedia. While it is possible to create a topic for each piece of content,it may be difficult and inefficient to associate every screening of allof the content in the backend database. The application cooperating withthe server may use a mechanism that allows content to automaticallysignal its association with a corresponding topic of opinion in thebackend database and time indexes of significant events within thecontent. The opinion expression application 160 cooperating with theserver is configured to synchronize opinion levels cast withtime-sensitive, unscheduled topics via use of high-frequencysynchronization codes.

The application 160 cooperating with the server approach may utilizeaudio signals outside of the auditory range of humans to encode thetopic identifier and a zero-based time offset into the content. Theserver provides these high-frequency synchronization codes to contentproviders, which are subsequently embedded in content prior todistribution. The high-frequency synchronization codes are provided tocontent providers that are subsequently embedded in content prior todistribution of the content of the event. The content providerbroadcasts the high-frequency synchronization codes during the event.

Devices running the opinion expression application 160 listencontinuously for synchronization codes. Upon detecting a synchronizationcode, the opinion expression application 160 on the device connects tothe backend server and database, retrieves the topic associated with thetopic identifier, and the opinion expression application 160 displays itto the user. Having also retrieved a time index into the content, thedevice has effectively synchronized to the content's timeline. Opinionsexpressed by users and submitted to the backend server and databaseinclude the time index for later analysis.

Smart Watch Applause Detector and Interpreter

FIG. 22 illustrates an embodiment of an application resident on awearable electronic client device that captures and logs movement tocorrelate this to an expressed opinion level of a user wearing thewearable electronic client device.

The design may use software running on a wearable watch, such as theApple Watch, or on its companion smart phone, to utilize the watch'smotion detection capability (e.g., through the accelerometersmotion-based data) to detect the wearer's applauding, record and reportit to other software and/or servers through a network such as theInternet and the World Wide Web, for use in applications that require,or can be enhanced by, using knowledge of people applauding something,someone, somewhere, at a specific time.

The application resident on a wearable electronic client device that hasa communication circuit and a motion detector, where the application isconfigured to use the communication circuit to communicate over anetwork with a server with a database, where the application isconfigured to cooperate with the server to enable a user of the clientdevice to capture and log a movement of the wearable electronic clientdevice via the motion detector, where a first algorithm is configured tocorrelate the captured and logged movement to an expressed opinion levelof the user wearing the wearable electronic client device, where thecaptured and logged movement of the wearable electronic client device istransmitted to the server via the communication circuit. The wearableelectronic client device in this example is a smart watch on a wrist ofthe user and the motion detector is capturing and logging motion of ageneralized clap signal.

The design provides a mechanism to use the motions/movements of awearable wristwatch to detect the applause, (or similar predictable handmovement translated into a recognized symbol of expressing an opinion)of any person who is wearing the watch, if/when he/she applauds whilewearing the watch. The design may electronically and automaticallycapture and log people's clapping, or applause, using motion in possiblecombination with an audio recording, and subsequent detection, of theapplause.

Wearable devices, such as the Apple Watch or similar watches from othermanufacturers, which include mechanisms such as accelerometers to detectthe watch's (and therefore the wrist's) motion/movement dynamics providethe software on the watch, or its accompanying smartphone or server, theability to read such movements' specific physical/dynamiccharacteristics (e.g., movement dynamics, acceleration, amplitude,direction, duration, frequency, etc.) The watch's movement/motion datacan be read in real-time, or later as recorded data, directly or througha smartphone or a digital network, local or global, by a software systemwhich can then utilize specific algorithms that interpret specificmovements of the watch (and therefore the wrist of the person who iswearing it) to have been caused by applause, at an exact time, and for aspecific duration, which can subsequently be mapped to other attributesof an event that exist on the software system, such as the event name(e.g., ‘Clinton Bush debate’, ‘Patriots Jets football game’, ‘AlMurray's comedy act’, etc.), along with the data representing locationof the person where he/she was applauding, content index (e.g., at 9:25PM, or 35 min and 20 seconds after the start of the debate or game),etc.

The movement algorithm coding specifications include: one or moreroutines in the algorithm interprets watch movements/motions as beingapplause or not applause, where the movement algorithm is coded toconsider variety of parameters, including but not limited to:

-   -   Whether or not the movement was the start of, or a part of        clapping, or possibly just the hand moving (as in the case of a        user moving arm while walking, etc.)    -   Whether or not the movement pattern is consistent with the        requirements set for qualification for clapping, or continuation        of clapping, or it might be something else such as the watch        wearer playing a sport such as basketball    -   The strength of clapping, mild, moderate or strong    -   Duration of clapping    -   Detect and distinguish noise and normal “ambient”        motion/movement from real clapping signal    -   etc.

People are used to expressing their approval and appreciation of events,or parts of events by clapping or applauding during such events, in thespecific moments of their appreciation. A few examples are clapping orapplauding during: Arts performances such as in a theatre or concert;Lectures or speeches; Sports spectator events; Watching TV, especiallywith a group of people (e.g. Super Bowl); etc. See FIG. 22 and auser/person wearing a smart watch and applauding. FIG. 22 shows anexample graph of a motion detector capturing and logging a generalizedclap signal.

Combing the data from multiple axis (usually 3) accelerometers can helpmore robustly identify true clapping, as opposed to spurious handmovements. The signal for such accelerometers, for one axis motion,could generally be similar to the following hypothetical signal, inwhich the peaks emphasizing claps.

The clap recognition is done mainly through processing the values of thewatch's accelerometers' data, searching for qualifying peaks that appearin a pattern consistent with applause. In order to reduce probability offalse applause detection, the system might provide the user means forcalibrating, or training, the watch to his/her way of applauding. Amanual calibration process, though not necessarily required, can helpimprove the accuracy of applause detection. An automatic adaptiveauto-calibration scheme can be used by the algorithm to self-train from,and for, changes in user's applause style over time. The user canmanually set the watch app mode to a directed mode such as “recordapplause for the next two hours”, and therefore reduce the chance offalse applause detection by the algorithm.

Examples of Use Cases:

The Applause/Clapping Detector can be used in variety of ways,including, but not limited to:

1) STANDALONE PRODUCT: In this example, an application software such asthe opinion capturing software app or web interface utilizes the watch'sapplause detector software to record the watch wearer's likes andapproval(s) of an event and/or specific parts of it as he/she applaudsduring or at the end of the event. Software maps watch wearer's applauseto one or more “Like” opinions for the event that is registered on thesystem, or for specific parts of that event.

2) INDIVIDUAL APPLAUSE RECORD KEEPER: A software resident on the watch,its accompanying smartphone, or on the Internet with bi-directionalcommunication to the watch through the worldwide web, or otherconnections, regularly monitors the watch movements, and records thoseit determines to be caused by applause. In addition to recording theapplause, it records all other information that might be available alongwith the applause, such as GPS data for the location of the personapplauding, time, on-line or local list of events that are registered torecord applause at that location/time, etc. In real time, or at a latertime, user's applause data is mapped to events, or specific parts ofthem, and provided both to the user, as well as possibly to othersinterested in capturing the said user's, as well as all other users′,applause data for specific events. This can be done through any network.Individuals can set their watch or phone to automatically post theirapplause and related data (e.g., time, location, event, etc.) to theirsocial media such as Facebook or Twitter with a message such as: “ArdyFalaki Applauds Earl Oliver's Speech”.

3) PROVIDER OF APPLAUSE DATA TO OTHER APPS, SOFTWARE AND SOCIAL: Asoftware running on a different device, such as a PC, Smart Phone, etc.,that can communicate with the applause detector software on the watch(or its accompanying smartphone) records the watch wearer's applause,moment, amount, intensity, etc. and therefore digitally record watchwearers' applause during an event. For example, when a user is at TheHollywood Bowl for a concert, at or before the start of the event, amessage such as: “The Hollywood Bowl would like to record your applause,Do you allow it? Yes ______ No ______” appears on the user's watch orphone running an application that uses this design. He/she taps Yes______. The watch will start communicating with the server, PC, orsmartphone that is collecting the applause data, and transfers all dataduring, or after the event to that server, which data can then be usedto know how many people applauded when, etc., User's watch or smartphonecan communicate with the server, locally or through an intra or theInternet, and on the Worldwide Web to both send user's applause andrelated data, as well as to receive data regarding other users' applausefor the same event, such that the said data can be graphically displayedto the user(s).

4) GEO-APPLAUSE RECORDER FOR ON/OFF-LINE USER: A software on a server,accessible by a network such as the Internet and Worldwide Web,communicates with many user watches that are detecting their user'sapplause, and can collect all applauses/claps, and their associated datasuch as GPS, time, user info., etc. and maps them to events thatcoincided with those applauses. Watch wearers and other people alike canuse an on-line interface go see or search where/when applauses were/arebeing recorded, and hence remotely find out about events' participantsapplause levels around the world. For example, Hollywood Bowl managementcould log onto a website, enter the exact time of one of theirevents/shows, and their location, and the system could show them all theapplause data that was recorded at that location/time period. Users, orevent managers, can compare the amount of applause two differentperformances of the same play receive on different days, or in differentcities.

FIG. 23 illustrates an embodiment of group of people applauding whilewearing smart watches that detect, record, and communicate theirapplause to a backend server. The backend server can detect theapproximate GPS locations of multiple smart watches and their expressedopinions in the same area. By making correlations amongst two or morewatches in the same area, the backend server may more accuratelyinterpret the data, motion data and possible sound data, captured andlogged by the app.

ADDITIONAL EMBODIMENTS

FIGS. 1-7 b illustrate additional example embodiments of systems andmethods with an application and server system that enable a user of aclient device to conduct a public-initiated opinion poll to express 1)likes, 2) dislikes or 3) any combination of the two about anything,anyone, anywhere, anytime. A module is configured to present a templatefor the opinion poll to allow greater specificity and user customizingof the opinion poll to the user of the client device initiating thisopinion poll, and the client device communicates the content enteredinto the subject field of the user interface to set a name and subjectmatter of the opinion poll.

Complementing a ‘Search’ Function with an ‘Add’ Function

In a generic search, for example as shown in FIG. 8, if thetopic/subject of a query is not found in the database that was searched,the search function returns a ‘search unsuccessful’ message, sometimesreferred to as a ‘null’, and the search process is deemed completed forthe said topic/subject, and the database is left unaffected.

Typically, a database is merely searched, such that outside reviewersare limited and prevented in the ability to add new entries into thedatabase system. This is typically because the database owner and thereviewers are unrelated entities and the reviewer/searcher does not havethe same incentives to maintain the integrity of the data entered in tothe database. The reviewer/searcher merely wants to retrieve theinformation from the database.

In an exemplary embodiment, as illustrated in FIG. 9, ‘Search/Add’, allexisting and traditional functions of the search function, as describedabove, may exist; however, if/when the search result is ‘null’ or‘subject/topic not found’, then the process will continue and the ‘Add’function will properly add the subject/topic of the unsuccessful searchto the database that was searched. Accordingly, in subsequent searches,the topic/subject will exist, hence be found. Therefore, a ‘Search/Add’function, unlike a ‘Search’ function, both reads and possibly writes toa database, modifying/enhancing the database it is searching, whentopics/subjects of the search are not found in the database.

If a search of a subject or topic initiated by the user, by typing inthe search box and pressing the ‘Search/Add’ icon, and queried from thedatabase by the search engine, does not return an exact match, then bypressing the ‘Search/Add’ icon, or tab, a second time, or pressinganother icon for ‘Add’ or ‘+’, which may also have been provided, thesearch topic is automatically added to the database. The search topic isadded such that the next time a user searches for the said topic, andthe search engine initiates a query for that topic, the search queryfunction will in fact find the recently added entity to/in the database,and return it as the search match result. This function, in essence,enables the user of any database that supports this search/add function,to not only read the database, but also write to and modify it, henceexpanding and completing its content dynamically. The search/addfunction can therefore be simply defined as the following commandsequence issued to the system by the user:

First, step 4010, a user contemplates a search to perform. The exemplaryexample illustrated in FIGS. 8 and 9 are for a Patent 123.

Next, step 4020, the user enters the search criteria into the searchinginterface. The search term may be typed, spoken, written, selected froma menu of options, etc. into one or more input fields of the searchengine.

At step 4040, the database is searched for the entity matching thesubject of the search, such as Patent 123. The subject or topic of thesearch is read, as it was entered, possibly, but not necessarily afterspellchecking, in the search box or combination of search fields. Atstep 4050, the decision tree branches depending on whether an exactmatch is found in the database or not.

If exact match found, at step 4060, the search is successful. At step4070, the success message is displayed to the user and the databaseentity is returned along with all its associated data.

If the exact match was not found, then a new entity in the database forthe exact subject (or topic of search) as defined by the searching user,and modify the database with all associated data for the newly createdentity.

At step 4080, the search is determined unsuccessful and at step 4090,the unsuccessful search message may be returned to the user. This stepmay be optional and the process may proceed directly with either steps4092 or 4094.

At step 4092, the system may present a prompt to the user requestingwhether the subject not found should be added to the database. If theuser desires the subject to be added, then at step 4094, a newentity/record for the subject of the search subjects is created in thedatabase, and its relevant data written to the records, in theappropriate database formats. An optional display message may bepresented to the user alerting the user that the addition was completedor successful at step 4096. The process then ends at 4100.

The ‘Search/Add’ functionality may be implemented using one or moresoftware buttons. For example, instead of using a ‘Search/Add’ button,pressing which twice, before and after an unsuccessful search, willcompete a search/add function as described above, a system may choose toprovide separate buttons for ‘search’ and ‘add’, pressing whichconsecutively, before and after an unsuccessful ‘search’, respectively,will in essence achieve the same functionality, ‘Search/Add’.Embodiments described herein are directed toward reading and possiblywriting to the search database regardless of its implementation using asingle ‘Search/Add’ button, or tab, or multiple buttons, or tabs,achieving the same result, namely the post search addition of asubject/topic of an unsuccessful search of a database, to the saiddatabase.

Embodiments of the search/add combination of the exemplary embodimentmay be used with the public-initiated opinion poll as illustrated inFIGS. 1-7 b. In this exemplary case, when a user enters in a subjectmatter for searching, the system will determine whether the subject isalready in the database with an associated set of opinion statistics. Ifthe subject is found, then the results are shown, and the user canreview or cast a poll regarding the subject matter. However, if thesubject is not already found in the database, then the user may beprompted to add the subject to the opinion poll database. Therefore, theuser may add the subject to the polling database. Once added, thesubject matter may be returned to the user as another subject of thepoll. Accordingly, the user may then cast a vote regarding their opinionof the subject according to the details of the poll.

Thus, an exemplary use of the ‘Search/Add’ function is in the VoteBlast™product. In this embodiment, users search the VoteBlast™ database foropinions. They do this by typing their topic in the ‘Search/Add’ box.For example, a user interested in searching the database for opinionsabout ‘Obama Foreign Policy’ types that string in the search box. If thetopic exists in the VoteBlast™ database, then the search query enginereturns the topic ‘Obama Foreign Policy’ along with its associatedopinions and other data (e.g., images, GPS, information, etc.). However,if the topic defined as ‘Obama Foreign Policy’ does not exist in theVoteBlast™ database, the system creates that topic in the database,adding the topic to the database, by writing to the database. The usermay first be alerted to the missing subject entry and/or prompted toenter a new subject in the opinion poll, or the system may automaticallyupdate the polling database with the searched subject matter and returna successful search result as the user's entry is now saved in thedatabase.

The addition to the database enables the user, who is now also thecreator of the topic, to express his/her opinion about the topic ‘ObamaForeign Policy’ and add it to the topic in the database if he/she sochooses. The next time a user, any user, searches the database throughthe search function for the topic ‘Obama Foreign Policy’, the query willresult in a successful search and a match, returning the ‘Obama ForeignPolicy’ data/entity along with all its associated data, such as theprevious user's votes, any associated pictures, GPS, information, etc.

In order to maintain a record of who has created new topics in thedatabase, the implementation might include a function or module, inwhich in addition to the topic details being written to the database,other information is also saved to the database. Other information mayinclude, for example, the user ID, username, date, time, IP address ofthe user, mobile phone number, UUID, parent/child topics, categories,etc. in conjunction with the topic and as a part of the newly addedentity. The other information may be automatically retrieved from theclient device or interface with the server, or may be requested by thesystem and/or inputted by a user. Some features may also automaticallybe generated based on other selections. For example, a given categorymay be automatically populated one or more fields within the databaseonce selected for a given subject matter.

In this embodiment, the ‘Search/Add’ function, will enable a user toexpress his/her opinion about anything, whether or not that thing, hasbeen of interest of other users in the past, who have expressed opinionsabout it, or not. This feature, allows users to add topics/subjects tothe database, making the database an ever expanding one, whichincreasingly will contain topics/subjects of interests of all usersinterested in expressing opinions about anything, anywhere, anytime.

An exemplary apparatus for a public-initiated opinion poll, therefore,may include:

A software system consisting of a server communicates over a network,such as the Internet (web) or an intranet, with a client such as asmartphone application (app), a web browser, or a software programrunning on any network appliance or computer. The software is configuredto present one or more screens, pages, or data otherwise intended for auser, to the software resident on the client. The software is configuredto receive a search query input in a search field from an application,browser, or software resident on the client regarding thepublic-initiated opinion poll, or anything else in which the user isinterested, and the server is configured to cooperate with a database.

The application, browser, or other client software in use has a searchmodule configured to complement a ‘Search’ function with an ‘Add’function to the database, where the search module on the server has anengine that parses the user input in the search field and then figuresout the search topic (e.g., “Patent 123”). The search module then sendsan inquiry to the database, where the database is searched for theentity, or entities, exactly matching the subject of search.Alternatively, semantically similar matches may also be returned as thesubject matter of an opinion poll, or other category data searched bythe user, matching the inquiry. The searched subject matter may or maynot first be spell corrected or otherwise first edited by the systembefore searching.

The search module may be configured to add a database entry on a searchquery, when the search result is ‘null’ or the ‘subject/topic notfound’. The module adds the subject/topic of the unsuccessfulsearch/query to the database that was searched such that in subsequentsearches the topic/subject will exist, and then will hence be found. Thesearch module therefore both reads data in the database in response tothe search query and writes data entries into the database, whentopics/subjects of the search are not found in the database, therebymodifying/enhancing the database as the search algorithm of the moduleis searching. The database entry for the subject of the search is storedalong with metadata obtained with that query such as the geographiclocation of the client making the search, user demographics, the IPaddress; etc.

In an exemplary embodiment, the database entry for the topic of thesearch is stored along with metadata obtained with that query includinga geographic location of the client making the search, and an IP addressof the client.

In an exemplary embodiment, the client application resident on theclient device is the module that presents the template for the opinionpoll to allow greater specificity and user customizing of the opinionpoll to the user initiating this poll and has the user interface codedto present the subject field.

In an exemplary embodiment, a module configured to present a templatefor the opinion poll, where a user interface of the module presents asubject field on a display screen of the client, and the clientcommunicates the content entered into the fields of the user interface,web page, application, or the client device's software, regarding theopinion poll over the network to the server, and a software programresident on the server takes in the details of the opinion poll, and thebackend server aggregates an opinion level expressed by activating theopinion level button with all of the cast opinion levels previouslysubmitted by users of different client machines on this opinion poll andfeeds this information back to the client to be displayed on a displayscreen of the client, where any portion of the server implemented insoftware and any software implemented on the client are both stored ontheir own non-transitory computer readable medium in an executableformat.

Embodiments as described herein permit a user, searcher of the databaseto update the database when an entry is not found. The addition of anentry may track and provide the same fields already provided in thedatabase. The user may be prompted to add or decline the addition of thenew subject matter and associated fields into the database, or theaddition may automatically occur. If information is desired from a user,then a prompt may appear to the user to enter the necessary or desiredinformation, which is then stored in the respective field of thedatabase.

Embodiments as described herein therefore permit the user tospecifically define the subject matter or field saved in the databasethat can later be searched and retrieved. Subjects may also beduplicated or prevented from being duplicated. In contrast, traditionaldatabases are created and hosted by the owner of the database. If a useris permitted to add information, it is generally through a template ofpre-selected options that is then reviewed by the owner and approved forsaving into the database. Therefore, the user does not have the freedomand flexibility to ultimately dictate the data saved to respectivefields of the database until now.

Geographically Verified Opinion Casting or Voting

There exists numerous opinion casting, survey, or polling systems thatallow users to express opinions about specific topics, take part inspecific polls or surveys, or otherwise rate or review subjects (e.g.,restaurants, hotels, movies, etc.) online. In conventional systems,users can generally use these systems from any location provided thatthey are connected to the Internet, as well as having the necessaryaccess credentials (e.g., poll ID, password, username, etc.) for theopinion/rating/polling system. This means that a user with access to theInternet and the opinion/rating/polling system can express his/heropinion, participate in a poll, or rate subjects or places such asrestaurants, from locations other than that of the subject of the poll,rating, or opinion survey. One unintended, and unfortunate, consequenceof this is that people can write fake reviews for businesses they havenever visited, or are not visiting at the time of writing the review, orwhen they are expressing their opinions about the location or anattribute of it.

According to the market research firm, Gartner, by 2014, one out ofevery ten online product reviews will be “fake”, posted by people whohave been secretly paid to write them. This, presumably, and mostlikely, by people who are not at the location, and/or have, most likely,never been to the location about which they are writing a review. Thispractice is called “astroturfing” and in 2013 the New York StateAttorney General, Eric Schneiderman, busted 19 Search EngineOptimization (SEO) companies, for offering to write reviews forbusinesses. These SEO companies hired freelancers in places such asBangladesh, Eastern Europe, and the Philippines to write fake reviewsfor businesses located in the US.

The main problem with the practice of writing reviews, rating,participating in polls or surveys about places, which the reviewer hasnot even visited, is that it diminishes the integrity of all reviews,even the ones from genuine customers and reviews. As such, the end-userwill not only never know if a given review was legitimately written bysomeone who at least visited the location he/she has reviewed, but alsothe owners of businesses can potentially be targets of negativemalicious reviews written by people who have never been to/at thelocation of the business they are “reviewing”, or rating.

Embodiments of the present design provide verified opinion casting bygeographically verifying a caster's position relative to the subjectmatter of the poll. In this system, each topic/subject of opinion,survey, poll, subject of rating, etc. may have a GPS coordinate assignedto it. For example, the food for a given restaurant, or the restaurantitself, has the GPS coordinates of the restaurant assigned to it andsaved in the polling/opinion system's database. When a user who is usinga device that is equipped with a GPS system, such as a smartphone ortablet, attempts to express an opinion about a business, topic/subject,or participate in a survey, poll, or write a review, or rate a topic,the system first checks the user's GPS coordinate, then it tries tomatch the user's GPS coordinates to the coordinates of the business,topic/subject, survey, or poll, which the user is attempting to do, orparticipate in. If, and only if, the user's GPS location has beendetermined by the polling/opinion system to match the location of thetopic/subject of the opinion, poll, survey, rating, review, etc., thenthe system allows the said user to participate in a poll, survey,provide an opinion, write review, or rate the topic/subject, as it isdetermined that the user is in fact at the location of the topic/subjectof his interest. This geographical authentication of users will providea simple, yet very powerful, guarantee to all users, as well as to theowners of polls, surveys, businesses, etc., that all participants inpolls, surveys, or writers of reviews and ratings, as well as providersof opinions, have been at the location of the said poll, survey,business, etc. at the time they wrote the review, participated in apoll/survey, or otherwise rated the establishment, etc.

In essence, this invention, broadly couples a user's action on a deviceto the location of the device at the time of the action, requiring thatthe GPS coordinates match or be within some threshold deviation from thegiven GPS coordinates of that associated with the action. Otherwise, theuser is disallowed from taking a specific action. Therefore, at least inthe context of opinions, reviews, polls, surveys, and ratings orreviews, the required location matching guarantees no one, other thanpeople at a specific given location or in a given proximity thereto canparticipate in polls, surveys, ratings, writing reviews, etc. about thatspecific location.

Accordingly, if a user is not determined to be at GPS1 or within a setdistance x or proximity from GPS1, then he/she will automatically bedisallowed from taking an ACTION regarding the location GPS1.Embodiments as described herein may be used to verify the integrity ofan opinion being cast. Therefore, patrons relying on the subject matter,such as a cast opinion or survey, are verified to have been present atthe location. Therefore, false opinions supporting a business ormalicious opinions against a competitor business is greatly reduced, andthe integrity of the remaining opinions increases.

The geographic verification may be performed in real time, such that anopinion cannot be cast until the location is verified to the subjectmatter of the opinion. This simultaneous requirement also increases theintegrity of the opinions, in that the opinions are likely occurring inreal time to the impressions generating the opinions. Therefore, anopinion caster is providing an immediate feedback opinion on anexperience temporally near the creation of that feedback. As such,memories are not faded or experiences are not muddled.

FIG. 10 illustrates an exemplary flow diagram implementing an algorithmto execute the geographic verification as described herein.

First, at step 010, a user is interested in participating in a poll,survey, rating, opinion cast, or review about a topic or given subjectmatter. The user is on a device that has a GPS located that provide theGPS coordinates of the device, “USER_GPS.”

At step 5020, the user navigates to a website hosting the desired poll,survey, etc. and chooses the desired topic or subject matter for theassociated opinion. The user then submits the inquiry to the opinioninterface. The application also retrieves the GPS coordinates of thedevice, USER_GPS, which is submitted along with the inquiry over thenetwork.

Next, at step 5030, the inquiry and USER_GPS, is communicated over thenetwork, such as the Internet, to a remote server which checks anassociated database for the user's topic/subject. The servercommunicates with the database to read and/or write informationincluding fields regarding the poll, survey, etc. Once the desired topicis found in the database, the server reads a field comprising the GPSassociated with that topic, TOPIC_GPS.

A decision is then made at step 5040 to determine whether the locationof the user is the same as that associated with the topic. “The same”may be determined within a given proximity. Thus, the database may alsoinclude a PROXIMITY field that identifies a maximum proximity todetermine whether the locations are the same. The maximum proximity mayalso be read with the GPS location associated with the subject matter sothat a determination may be made about the relative locations of theuser and the subject matter. The locations are determined to be “thesame” if the USER_GPS is within a PROXIMITY radius around TOPIC_(—) GPS.As described further below, the proximity may be automatically set bythe system when a subject is created, or may be set by the creator ofthe subject matter in the database.

At step 5050, the user is determined to be at the location, andtherefore is allowed to continued with the desired action, and at step5060, the users opinion, poll, response, etc. regarding the givensubject matter is permitted and accepted by the server.

Therefore, at step 5070, the server communicates with the database towrite the user's information to the database, thus completing thedesired action by the user. For example, the user's opinion, poll,response etc. for the given subject matter is written into the databaseas geographically authenticated. The user may then be given anacknowledgement at step 5080 indicating that the supplied data,including the opinion poll, review, etc. was successfully added to thedatabase.

If the user's location was not verified at step 5040 to be the same asthe associated location of the subject, then at step 5090, the userreceives a notice that their submitted data is disallowed from theopinion, and that the desired action cannot proceed. The user may beprovided with the reason for disallowance, such as at step 5100, inwhich the user is notified that their location is outside of the rangeassociated with that topic's location.

The process then ends at step 5110.

The system is shown and described as preventing a user's desired actionfrom completing if the GPS location is not determined to be the samebetween the user and the topic. The system may alternatively permit thedesired action, but indicate whether authentication was provided.Therefore, when search results are provided, those results that are orare not authenticated may be filtered, weighted, or otherwise indicatedto a viewer, such that appropriate relevance may be given to those thatare authenticated over those that are not. In an exemplary embodiment, aflag or toggle field may be saved in the database associated with therespective opinion indicating whether the opinion is authenticated ornot. If it is authenticated, then the database indicates yes, and thesystem may then use that field to filter, weight, or search for opiniondata when queried by another user.

An apparatus configured to perform the geographic verification asdescribed herein may include:

A software system may consist of a server. The software server residenton a computing device is configured to communicate over a network suchas the Internet (web) or an intranet, with a client application, such asa smart phone application (app), a web browser, or a software program,running on a network appliance. The client application is configured topresent one or more screens, pages, or data otherwise intended to bedisplayed on a display screen for a user of the network appliance. Thesoftware server is configured to enable the user of the clientapplication to create and convey opinions on a public-initiated opinionpoll to express 1) likes, 2) dislikes or 3) any combination of the two,as well as to further elaborate on an opinion by entering text, or othergraphical inputs, about anything, anyone, anywhere, anytime.

The software server has a geographic module to geographically verifyboth a location of the client application and a location attribute of ageographic location associated with a topic of the public-initiatedopinion poll. The server may be configured to cooperate with the clientapplication on the network appliance that cooperates with a trackingmodule on the client application that tracks the geographic location ofthe client application to supply the client application's geographiclocation to the software server. The client application may be one of asmart phone application or a web browser. The server may couple i) auser's ability to create or convey actions for the opinion poll to ii)the geographic location of the client at the time of the action,requiring that the geographic location of the client and a geographicattribute associated with the topic/subject matter of the opinion poll,such as GPS coordinates, match. In the event the locations do not match,the user of the client is disallowed from taking a specific action inthe context of opinions, reviews, polls, surveys, and ratings orreviews. Accordingly, embodiments as described herein may guaranteesthat no one, other than people at a specific given location canparticipate in polls, surveys, ratings, writing reviews, etc. about thatspecific location.

Exemplary embodiments may also include a module to optionally associatea GPS coordinate to an opinion topic, where each topic of opinion,survey, poll, subject of rating, etc. has a GPS coordinate assigned toit.

When a user creates a subject matter of an opinion, the user maydetermine whether the geographic verification is enabled for thatopinion. The creator may be present with an interface that permits thecreator to enter in data to one or more fields associated with theopinion subject matter. The fields may be automatically determined ifone or more selections are made in one or more other fields. Forexample, a selection of a specific category may auto-populate one ormore other fields, which may be overwritten by a user, or may bemandatory, as set by the application. Field data may also be inheritedif one subject is created as a subset or sub-subject of another subject.For example, if the White House is a subject that requires thegeographic verification, and the location is provided, a sub-subjectabout the archives under the White House may inherit the same geographicverification requirement as well as the associated geographic locationdata.

If the user selects that the geographic location verification isrequired before an entry may be added regarding the given subject, theuser may be prompted to enter an associated geographic location, theuser may be offered to use the present geographic location of the devicecreating the subject matter, or may obtain the geographic informationfrom publicly available sources. Accordingly, the user may enter theinformation directly, or the system may obtain the information from thedevice or other sources, either automatically or once prompted by theuser.

FIG. 11A illustrates an exemplary user interface for selecting ageographic location to be associated with a given subject matter. Asshown, a map is displayed to a user, and the user may indicate alocation on the map to associate the opinion subject matter. The systemmay then determine a coordinate location, such as latitude and longitudeassociated with the selected map location. The position may then becommunicated from the client device, over the network or Internet, andsaved by the server into the database associated with the desiredsubject matter.

FIG. 11B illustrates an exemplary user interface for creating and/orediting a new topic within the opinion polling system. The user mayenter or update general settings associated with the opinion poll. Thesystem may permit the user to select whether the geographic verificationis required (called @voting on the exemplary interface). A radiusassociated with the geographic verification may also be entered. Theuser may enter data through one or more text fields, toggle or radiobuttons, or other input/output selections.

Once the geographic verification selection is made, a user must bewithin the associated geographic location before an entry associatedwith that location may be updated, or added.

The geographic verification is generally described in terms of casting asurvey opinion poll or like user feedback data. However, the design isnot so limited. Embodiments may be used in any application where inputis requested by a user and a specific location is associated to theinput. Alternatively, a specific location may be desired for entering orpreventing information to be entered by a user. Embodiments as describedherein may be used to verify the geographic location prior to permittingthe user entry. Geographic data is also disclosed as obtained by a GPSdevice incorporated into the client device, such as the smart phone ortablet. Other location verification systems may also be used. Forexample, location may be verified through an IP route at a location nearthe location associated with the entry. As data is routed over one ormore networks, location information is usually obtained or appended tothe data string. This location data may be used to locate the usersufficiently close to the subject matter to permit the user update tooccur.

Late-Bound Topics for a Future Topic within the System.

As described herein, opinion polling, surveys, etc. are informed by thetopics about which the opinion or survey is being conducted. The topicgoverns the search to navigate to the opinion, or the creation, additionof opinions about a given topic. Topics and subject matter are usedherein interchangeably. Topics are a first class object within theexemplary opinion system, embodiments of which are described herein.Users express an opinion on topics.

In an exemplary embodiment, Quick Response (QR) codes may be used tofacilitate quick access to a topic or other objects within the opinionpolling system. Underlying each QR code is a URL in the form:http://VoteBlast.com/<object type>/<unique object identifier>. QR codesfor topics take the form: http://VoteBlast.com/t/<unique topicidentifier>. On the mobile application, scanning a QR code will extractthe unique topic identifier from the URL and fetch the topic and itsassociated metadata from the opinion polling system's servers.Similarly, scanning a QR code by a third party application will invokethe device's web browser and display the topic.

Because QR codes are used to uniquely identify a topic within theopinion polling system, QR codes may be produced for an existing topicat any time. Existing QR codes may be saved as images and printed orreproduced in any form. However, printing QR codes from the pollingsystem mobile application or website may be inconvenient and a potentialbarrier to adoption by potential customers. Specifically, the customeris generally first required to create the topic, associate a QR code tothat existing topic, as the topic is within the associated QR code link,and then print the associated QR codes in whatever desired format.However, if a customer can receive pre-printed QR codes and then createa desired topic at their convenience, the customer may be inclined tocreate the topic and use the pre-supplied QR codes. Accordingly, a meansto produce unique QR codes in advance of their corresponding topic beingcreated is desired.

A late-bound topic is a placeholder for a future topic within theopinion polling system. The opinion poll system creates late-boundtopics for use by sales staff. A late-bound topic exists on the opinionpoll system database with the following properties:

Unique topic identifier—The identifier is a string that uniquelyidentifies the topic. It takes the same form as regular topicidentifiers.

Issuer—a string that uniquely identifies the opinion polling user thatcreated the late-bound topic.

lbt—a Boolean flag indicating that the topic is a late-bound topic. Avalue of false would indicate that the object is not a late-bound topicand the object would be expected to have a name.

In practice, the opinion polling system would produce late-bound topics,and QR codes corresponding to the late-bound topics would be printed onbehalf of future customers. Sales staff may then distribute QR codes forlate-bound topics and ‘activate’ them during the customer-signupprocess.

A late bound topic may be activated by scanning a late-bound topic QRcode from the opinion polling application. The process proceeds asfollows:

First, the QR code application launches a web browser and retrieves thewebsite associated with the QR code. The system may use a module toextract the unique topic identifier from the QR code. The module maythen fetch the topic from the opinion polling server. The server willreturn a topic object with the late-bound topic flag set to true.

Since the late-bound topic is true, the module redirects the user to awebsite page within the system application that permits the user toenter a name, description, category, and other metadata associated withthe subject matter for the scanned QR code. The application submits theuser-entered metadata to the opinion polling server along with theunique topic identifier associated with the QR code.

The opinion polling server then associates the metadata with theexisting late-bound topic object. The lbt flag is set to false, whichupgrades the object from a late-bound topic to a regular topic.

If the user selected a category, then child topics for the childcategories will be automatically created during the topic-upgradeprocess.

The opinion polling server inserts the newly created topic into thesearch index, allowing the topic to be searched for and voted onimmediately. Once activated, subsequent scans of the late-bound topic QRcode will direct the user to the topic.

An exemplary apparatus for a public-initiated opinion poll that permitslate bound topics, such that a QR code that can make a prior associationwith a specific topic of the public-initiated opinion poll, may includea software system.

The software system consists of a server that communicates over anetwork, such as the Internet (web) or an intranet, with a client, suchas a smartphone application (app), a web browser, or a software programrunning on any network appliance or computer. The client is configuredto receive an input from a machine-read code, such as a QR code or barcode, in a field from an application or browser resident on the clientregarding the public-initiated opinion poll. The server is configured tocooperate with a database, where the database has both a pool ofassigned bar codes associated with their own opinion poll, and a pool ofblank database entries associated with reserved bar codes available tobe associated with a future topic. Each bar code is unique from theother bar codes, where the client has a bar code reader moduleconfigured to facilitate quick access to an opinion topic stored in thedatabase based on the unique bar code. The bar code reader module isconfigured to change an indicated status of a bar code when a first barcode from the pool of reserved bar codes is assigned to its own opinionpoll and would now be in the pool of assigned bar codes.

The client communicates the content entered into the fields of the userinterface, web page, application, or the client device's softwareregarding the opinion poll over the network to the server, and asoftware program resident on the server takes in the details of theopinion poll, and the backend server aggregates an opinion levelexpressed by activating the opinion level button with all of the castopinion levels previously submitted by users of different clientmachines on this opinion poll and feeds this information back to theclient to be displayed on a display screen of the client. Any portion ofthe server may be implemented in software and any software implementedon the client are both stored on their own non-transitory computerreadable medium in an executable format.

Unifying Anonymous User Activity with Full User Activity

Registered opinion polling system users may be given a unique stringknows as a ‘VoteBlast™ identifier’ (VBID) that identifies them withinthe opinion polling system. The VBID allows topics created by a user andopinions expressed by a user to be associated with the user's account.

Anonymous users are users that are not authenticated with the opinionpolling system. These users may be users that do not have an account orhave simply signed out of an existing session. Anonymous users maycreate topics and express opinions, and may eventually join and/or signinto the opinion polling system.

However, the opinions and topics created by anonymous users have value,and should be associated with users when they upgrade from an anonymousto non-anonymous state. Accordingly, embodiments described hereinprovide a process for maintaining the association of topics and opinionswith anonymous users.

FIG. 12 illustrates an exemplary process for maintaining the associationof topics and opinions with anonymous users, while preserving theiranonymity until they have decided to join the opinion polling system asan identified or registered user.

The opinion polling system comprises a server to control the interactionbetween the user, anonymous or otherwise, with the system, and readand/or write to the database that maintains the information and dataassociated with the opinion polling system.

As shown, an anonymous client performs an activity. An activity may beany action of the user. For example, the user may express an opinion orcreate a topic. Interactions between the anonymous user and the opinionpolling server are identified by an anonymous user identifier (AUID).The AUID may be associated with the client device.

Setting the AUID in the client browser may inadvertently associateanonymous activity with a different authenticated user. The AUID cookieshould therefore have a reasonable expiration date to avoid thisassociation.

The server then extracts the AUID from the client activity requestheader. If the AUID is not found in the opinion polling database, then anew AUID is created, where the AUID is globally unique string. Once theAUID is created or if the AUID is found in the database, the serverperforms activity on behalf of the anonymous client. Objects derivedfrom the activity, such as a vote or a topic creation; contain theexisting or newly generated AUID.

The server then communicates between the client device and the databaseby the AUID. The server may set a time-to-live (TTL) value that wouldexpire the AUID after a specified time period. If the TTL is used, whichis optional, the anonymity of the user would permanently be maintainedonce the TTL expires. Alternatively, the system, through the client, maypersistently store the AUID. In this case, the same AUID may be used inall interactions from the client to the server, thus identifyingrepeated actions by the same client device.

FIG. 13 illustrates an exemplary process for maintaining the associationof topics and opinions of non-anonymous users, and associating previousactivities while as anonymous users once the user becomes an identifiedor registered user.

Non-anonymous users are, by definition, users that are authenticated andhave an authentication token. On every authenticated API call to theopinion polling server, the server is looking for an authenticationtoken and an existing AUID. FIG. 13 illustrates an exemplary process forunifying the activity of a previously anonymous user with the activityof an authenticated user.

The user performs an activity while authenticated to the opinion pollingsystem. The header information sent from the client device to theopinion polling server includes an AUID associated with the device,which was obtained while the user performed an activity while anonymous.

The server then extracts the AUID from the client activity requestheader. If an AUID is not found in the associated database, then theactivity is performed by the server as usual, i.e. as an authenticateduser. Since no activity was recorded or stored while as an anonymoususer, there is no field to reconcile between the user identifications.

The server may also extract an authentication token from theauthenticated activity request. The server then communicates with thedatabase to obtain the opinion poll identification (VBID) of the userthat holds the identification token.

The server retrieves or fetches all previously stored activity objectsassociated with the user's device AUID. The server then converts all ofthe fetched activity objects associated with the AUID to be activelyperformed by the VBID of the authenticated client. The server then savesthe updated activity objects to the database. The activities of theanonymous user are therefore updated to be those of the authenticateduser.

Once the anonymous user activities are updated, the server performsactivity on behalf of the authenticated client. The server may alsoreset or erase the AUID from the client device. For example, the servermay set the TTL value of the AUID to 0 seconds. As no activity isassociated with the AUID, as all instances have been updated to theVBID, the AUID is unnecessary and the AUID may be deleted from theclient device.

If the user logs out of the system, such that they become an anonymoususer again, the system may always reinitiate the anonymous user processas illustrated in FIG. 12.

Anonymous user identifier objects can accumulate over time in thedatabase and never be associated with an authenticated user. In anexemplary embodiment, these objects may therefore be deleted from thedatabase periodically. For example, these objects may be deleted at thesame expiration rate as their associated client cookies. Once ananonymous user object has been deleted, all previous activitiesassociated with the anonymous user object may be permanently anonymous.

An exemplary apparatus for a public-initiated opinion poll may include aweb service running on a server that communicates over a network such asthe Internet (web) or an intranet, with a client such as a smartphoneapplication (app), a web browser, or a software program running on anynetwork appliance or computer. The web service may be configured toreceive an input from an application resident on the client regardingthe public-initiated opinion poll, and the server may be configured tocooperate with a database. The database has both a pool of known usersof the web service associated with their own web service identifier andan account at the web service and a set of tracked actions regardingeach unknown/anonymous user of the web service who are anonymous and notassociated with a known account at the web service. The web service isconfigured to allow anonymous users to create opinion topics as well asexpress opinions on existing opinion topics and those are the trackedactions regarding that unknown/anonymous user. A tracking module of theweb service cooperates with the database to maintain the association oftopics and opinions supplied from each anonymous user, while preservinghis/her anonymity until that user decides to create an account on theweb service. The tracking module then causes the topics and opinionssupplied from the anonymous user to be moved into the user's account inthe database once the user becomes a known user.

The client communicates the content entered into the fields of the webpage regarding the opinion poll over the network to the server, and asoftware program resident on the server takes in the details of theopinion poll, and the backend server aggregates an opinion levelexpressed by activating the opinion level button with all of the castopinion levels previously submitted by users of different clientmachines on this opinion poll and feeds this information back to theclient to be displayed on a display screen of the client. Any portion ofthe server implemented in software and any software implemented on theclient are both stored on their own non-transitory computer readablemedium in an executable format.

FIGS. 14 and 15 illustrate exemplary screen shots of an interface ofembodiments of the system including a public initiated opinion poll.

FIGS. 1-7 b described further below provide an exemplary user-initiatedpolling system that may benefit from the features described above. Belowexample processes and apparatuses, such as those referred to in FIGS.1-7 b, provide a user-initiated opinion polling system thatfundamentally and substantially enhances public opinion gathering,dissemination and utilization by:

changing the commercial polling and surveying paradigm; and

redefining the way the consumer is heard by enabling the consumer toexpress his/her likes/dislikes on the subject of his/her choosinganytime, anywhere and when AND ONLY when the consumer initiates thesurvey/opinion process. Many embodiments will be described in which thesystem conducts a public-initiated opinion poll through 1) a mediaspace, such as the Internet, web TV, an interactive or non-interactivecable TV, satellite TV, Internet-based TV, mobile phone network, etc.,and/or 2) a consumer space such as a store, restaurant, mall, movietheatre, lecture hall, live concert or public event venue, etc. Theclient server system can conduct the opinion poll on subject matter onanything such as 1) content in the media space or consumer space, 2) aphysical item such as a retail store consumer product or point of salesdisplay, a billboard, an advertisement, a restaurant menu item, a club'sambience, etc., 3) an entertainment item such as a movie or play beingplayed or performed in a theatre, or a lecture or speech in a room, 4) avideogame being played, 5) people, a person, a person's possession orattribute, 6) anything else; and thus, a user-initiated opinion poll onanything, anywhere and anytime, that is automatically captured and sentto a main server system.

FIG. 1 illustrates a diagram of an embodiment of a client-server networkenvironment to implement the user-initiated opinion polling system. Anapplication resident on the client device 110A-110C communicates over anetwork 100 with one or more servers 105A-105C and their databases106A-106C. This client device-server system is configured to enable auser of the client device 110A-110C to conduct a public-initiatedopinion poll to express 1) likes, 2) dislikes or 3) any combination ofthe two about anything, anyone, anywhere, and anytime. The clientdevices such as a smart phone 110A, Personal Digital Assistant/Tablet110B, Laptop computer 110C may have a browser application resident alongwith one or more client applications scripted to run the opinion pollingsystem operations and cooperate with the server.

The server, such as a first server 105A, maintains the opinion polls andkeeps a profile of the opinion polls. When the server is an Internetsite, the server may service one of a traditional website, a socialmedia space, or any combination of the two and may be comprised of atleast one or more servers and cooperating databases. This new, simple,customer-initiated paradigm for public and commercial polling andsurveying enables anyone to easily express opinions on any subject ofhis/her interest, using opinion level icons, and/or view others'opinions that might have been previously cast on a subject of his/herinterest. A module, such as a client application on the mobile clientdevice or server applet resident on the server, may be configured topresent a template for the opinion poll. The client application has codescripted to present one or more opinion templates that are usercustomizable, have a subject field, and is configured to work with abrowser and a remote server. The server applet works with a browserapplication resident on the client device and serves one or more webpages 120D to the client device with the resident browser.

FIG. 2 illustrates a diagram of an embodiment of an opinion pollpresented by a module to a user of a client device. A module, such as aclient application on the mobile client device or server applet residenton the server, may be configured to present a template 200 for theopinion poll to allow greater specificity and user customizing of theopinion poll to the user of the client device initiating this opinionpoll. A user interface of the module presents a subject field 202 on adisplay screen of the client device. The server may be configured torecognize content in the subject field 202 as choosing and setting thesubject matter of the opinion poll. The content of the subject field 202is solely initiated and decided by the user and not pre-selected by athird party and then presented to the user of the client device to givetheir opinion about that pre-selected subject matter of the opinionpoll. The user interface and subject field 202 are configured to enablethe user of the client device to select an overall subject matter andeven specific features about that subject matter, which the user wishesto create the opinion poll on. The module is configured to enable theuser of the client device to choose when to express his/her opinion,exactly about what subject matter to express his/her opinion on, andthen to express his/her opinion level by activating/pressing merely asingle opinion level button that has a very specific meaning e.g. BAD,GOOD, EXCELLENT with these simple software—or hardware-based buttonssuch as

. For example, any of the four opinion level buttons 208 may beactivated.

The module may be configured on the opinion poll template 200 to providesubjects about which the user of the client device may be interested inby both 1) on a home page of the server showing a listing of opinionpoll topics and their associated statistics that any user visiting thehome page may be interested in reviewing, which these opinion polls wereoriginally generated by other user's opinion polls and then maintainedon the server and database, and 2) the user interface of the modulepresents a search field 202 configured to receive content of the queryfrom the user device and then to bring back a listing of opinion polltopics and their associated statistics that the user of the clientdevice may be interested in reviewing based on the content supplied inthe query. For example, the module might present the Top Ten opinionsfor that day to any user viewing the site and increase the interestfactor based on the particular user's location, current time, andprevious subject matter or opinion levels expressed. Note the searchfield and subject matter field 202 may be the same field but differentactions occur based on subsequent actions. For example, when the searchfield icon is activated/clicked, for example by a mouse or finger tap ona touch screen, then the server retrieves similar opinion surveys.However, when an opinion level icon 208 is activated then the clientapplication sends the content in the subject field 202 along with all ofthe other associated data to the server for tallying.

Upon the server returning opinion lists or the user typing in a subjectmatter free form, the user chooses the subject matter about which he isinterested to express an opinion, or in the case of a search whichopinion statistics (of other users opinions) he/she is interested inreviewing. For example, the server categorizes and associates similarsubject content to the content in the subject field 202 and sends thatsimilar subject content back down over the network to the clientapplication on the client device. The user could select an existingsurvey to review and potentially add their cast opinion on, start theirown new survey on that subject matter, or slightly amend the subjectmatter of the survey to address and start a survey targeted at aspecific feature of the general subject matter that the user wishes tocreate an opinion poll on. For instances, the general subject matterthat the existing survey is on could be a restaurant and that subjectmatter may be populated as a list of possible topics for the user tochoose and/or pre-populated into the subject field 202 as text for theuser to choose based on a location of the client device, a completion ofany logical extensions of the text being typed into the search field,etc. However, the user of the client device may want to specificallystart an opinion poll on the hamburgers at that restaurant; and thus,would amend the words in the subject field 202 to specifically discussthe hamburgers at that restaurant. Thus, a user can easily search for,or express opinion about, the exact subject (e.g., ‘Joe's Bar & GrillHamburgers’, ‘noise level at Sundance Steak House’, ‘Obama's foreignpolicy’, ‘Jack the bartender's jokes’, ‘The King's Speech music score’,‘Lady Gaga's hair’, etc.

The module may be scripted to allow the user to decide the subjectmatter of the opinion poll by two or more of the following 1) theputting in of text or symbols in the subject field 202 either by theuser typing in words or accepting the pre-populated suggested wordssupplied from the server, 2) the user speaking the subject matter of theopinion poll into the microphone of the client device, and theapplication using a speech to text routine to populate the subject field202, 3) the user scanning an object to be the subject matter of theopinion poll by swiping the mobile client device against the object anda sensor inside the mobile device using Near Field Communication (NFC)or Radio Frequency IDentification (RFID) technologies recognizes thatobject and/or reads the object's ID code to populate the subject field202, 4) the user taking a picture of an object with the phone camerabuilt into the client device and the client application is scripted topass the image of the object for image recognition by the server anddatabase, and 5) other similar methods. The server then sends down alist of one or more subject matters and their suggested words topopulate the subject field 202 based on relevancy to the recognizedobject in the picture. In an embodiment, the subject field 202 ispopulated with a textual and/or symbolic representation of the subjectmatter of the opinion poll with any of the four above ways, and the useris allowed to override or amend the populated text and symbols with thespecific words the user wishes to be the subject matter of the opinionpoll which he is initiating and/or in which he is participating.

The module receives confirmation that the subject matter of the opinionpoll is chosen by the user by activation of one of the opinion levelbuttons 208, activation of the subject field icon 202, or some othermethod discussed in more herein. In an embodiment, when the modulereceives confirmation that the subject matter of the opinion poll ischosen by the user, then the module offers the user with a limitednumber, less than ten, of opinion level buttons (e.g., 4-5) 208, whichan activation/pressing of a given opinion level button registers acertain level of opinion (e.g., “bad”, “so-so”, “good”, excellent”). Theactivating of that opinion level button is recognized by the module toboth set the subject matter of the opinion poll and the user's opinionlevel, and the module then transmits the subject matter, opinion level,the time and date, available user demographics, and any client devicesensor information collected by the module over the network to theserver.

The module may also be configured to allow the user to express anopinion level by two or more of the following 1) by activation/one mouseclick of any of a ‘limited number of’/‘constrained set of’ three or moreopinion level button icons but less than ten opinion level button icons208, 2) by a software routine resident in the client application thattranslates detected tapping on the mobile device into a selection of aspecific opinion level icon (e.g., one tap thru four or more taps istranslated to “bad” thru “excellent”), and 3) by a software routineresident in the client application that translates a detected amount offorce in a shake of the client device, gently or roughly, into aselection of a specific opinion level icon 208, then the applicationresident on the client device collects this information and communicatesthis opinion level/rating on the subject matter of the opinion poll overthe network to the server. The server then passes this information ontothe database. The user has expressed an opinion level of his/herapproval or disapproval about the exact subject matter that the userdesires including any segment, part or the entireprogram/service/product, voluntarily and without having been promptedfor that opinion.

Referring to FIG. 1, each client device 110A-110C can communicate thecontent entered into the subject field of the user interface to set thename and subject matter of the opinion poll over the network to theserver 105A-105C potentially located on the World Wide Web. A softwareprogram resident on the server, such as the first server 105A, takes inthe details of the opinion poll. The backend server aggregates theopinion level expressed by activating/pressing the opinion level buttonwith all of the cast opinion levels previously submitted by users ofdifferent client machines 110A-110C on this opinion poll. Theinformation is passed to the database. The server then checks thedatabase to see 1) if the subject content, exactly as chosen orexpressed, exists in the database as well as 2) if similar titles ofsubject content exist in the database. Thus, a software program residenton the server is coded to take in the details of the opinion poll,aggregate those details with any opinion poll data for this opinion pollstored in the database, and categorize those details. The server thenfeeds this information back to each client device to be displayed on adisplay screen of that client device as well as feeds this informationback to providers/paying customers. Each time an update occurs to theopinion poll the server may merely feedback the updated pollinginformation to client device casting an opinion level or all of theclient devices that have cast a vote on that opinion poll. The webapplication on the server can cooperate over a wide area network, suchas the Internet or a cable network, with two or more client machineseach having resident applications.

Referring to FIG. 2, the server returns the existing opinion polls in alist presented by the application for the user to select from if theychoose, and when an existing poll is selected by the client device, theserver returns the existing opinion poll and its statistics appear inthe form of a chart (bar, graph, etc.) If there are more subjects whichnames partially match the user selection (e.g., “Starbucks Latte Taste”,Starbucks Latte Price”, etc.), then user will get a list of all options,which he can choose from or add to (e.g., “Starbucks Latte CalorieContent”, or “Starbucks Latte Taste During Christmas”, etc.).

When the user's opinion has been captured by a server applet resident onthe server, the server applet sends back an acknowledgement (a sort offeedback, light, message, etc.) to the browser of the client deviceindicating that the opinion was captured. The server applet sends backan updated chart graph of the opinion poll to be displayed on thedisplay screen of the client device. The updated chart indicates atleast a number of times each particular opinion level rating has beencast and what the total aggregate number of opinions cast are. Thus,after the user activates the particular opinion icon, the application onthe server sends the tally information from the database to theapplication resident on the client device to immediately display of theresults in easy to understand and compare chart formats (e.g., bar, pie,etc. with simple but powerful data such as the number of times eachparticular opinion level rating has been cast and what the totalaggregate number of opinions cast are, without a complicated listing ofuser text based comments to filter through. (See FIGS. 2 through 4).

Note, the physical characteristics of the hard/soft opinion levelbuttons 208 such as shape, color, graphical/textual labels, industrialdesign, etc. will be associated with the opinion level types that mightbe expressed using, and captured by, the system (e.g., ‘outstanding’,‘good’, ‘bad’, ‘terrible’, etc.). Thus, a computer operator using a webbrowser type application is provided by the system a simple means, suchas utilizing a hand-held appliance or software running on a 3rd partydevice (e.g., an iPhone, other mobile phones, a PDA, a browser, a TVremote control, a computer, etc.) consisting of a number of ways tochoose a subject for the opinion poll and expression through these fewhard/soft ‘opinion/action buttons.

Referring to FIG. 1, a user interface of the website serviced by theserver allows business partners as well as users of client devices toview statistics in real-time in two or more of 1) a recorded profile ofthe opinion poll data, 2) an analyzed profile of the opinion poll data,3) a raw profile of the opinion poll data, and 4) other formats, whichallows business partners to search the opinion poll data by date,opinion level, and other parameters to provide real-time marketresearch. The user interface of the client device can offer a series ofuseful business choices based upon a subject matter of the opinion pollincluding 1) statistics of opinions on similar subjects or otherbusinesses in the neighborhood, 2) presentation of relevantadvertisements on the display of the client device directed by abusiness partner of the website, and 3) presentation of coupons on thedisplay of the client device that the system determines the user may beinterested based on 1) voted likes/dislikes, 2) current locationindicated by GPS relative to the business address, 3) demographics ofthe user of the client device and 4) other similar information. Thus,the system provides users, active or passive, a variety of useful toolssuch as a “Top Ten” lists of most expressed opinions, best of in thatcategory, worst of in that category, coupons, topic options, etc., allby category as well as based on automatic category selection whichitself is based on the user's automatically sensed data (e.g., location,previous opinions expressed, etc.). The business partners can influencethe data passed to the user by the system to allow a highly focusedcustomer reach for that business partner based on the user of the clientdevice likes/dislikes, location, and demographics collected at theinstant of customer engagement with a product or service.

For example, a business partner such as a restaurant could set up manyopinion polls on aspects of their business. The server sends all ofthese already existing opinion polls to the user of the client devicewhen they are near or at the restaurant. The restaurant obtains opinionsand reviews of others' opinions on the restaurant. The application onthe server offers statistical analytical tools to the business partnerto search by date, opinion level etcetera to obtain more specificfeedback than text based comments. For instance, the restaurant may seethat on Tuesdays indicated by the dates of the opinions, the comments onthe food at the restaurant are lower than other days. In addition, thisis an easy way to define top opinion choices (survey items) forcustomers who are visiting the business. The restaurant customer surveyautomatically pops up on the smart phones at the restaurant based on thelocation of the client device and having the client application active.This automatically replaces a paper survey methodology at a very lowcost. Businesses can also bench mark their own data vs. otherbusinesses' by type, location, date, customer type, etc. For example, achain restaurant management may find that in their restaurant location#4 people are happier with food than their other locations, while theirrestaurant location #7 seems to have the most complains about “service”,or that overall their restaurants get lower user opinion ratingsregarding “food” than restaurants within one mile of their restaurantlocations.

In another embodiment, the application resident on the client device isscripted to start recording through its microphone an audio track andthen communicates the audio track from a movie or other audio programalong with a current date and time indicated on the client device overthe network to the server potentially with other information includingGPS of the client device. The server may optionally return a selectablelist of movies playing at that GPS location, and/or TV or Radio showsplaying at that current time, to the client device to assist the user inidentifying the source of the audio track. The server cooperates withthe database to identify the source of the audio track that themicrophone of the mobile device picked up by trying to find the sameaudio track in the database. The server then attempts to match thetime-synchronized portions of the same audio track in the database tothe audio track that the microphone of the mobile device picked. Theuser interface also captures the user's activation of the opinion iconsexpressing their likes or dislikes with portions of the audio track thatcorresponds to segments/scenes within a movie or TV show. Thus, the userof the device casts an opinion level with time stamps on one or moresegments within the movie, TV show or radio show and then the segmentsupplied from the client device is matched up with the same timesegments of the audio clip stored in the database, which then can becorrelated to a particular scene within the movie, Radio show, or TVshow, and the opinion level icons cast on that segment of show aretallied and posted like other opinion polls.

The server that hosts the web site also is scripted to facilitatedownloading of the client applet to the client machines, directly orindirectly through another server site. The applet may also havebuilt-in coding to be virally replicated to be spread across multiplesocial network platforms and coded to be properly placed within astructural organization of each social network platform with the viralcoding specifically scripted to facilitate embedding the client appletwithin the media space. Each instance of the applet may allow the newinstance to be passed along as a viral instance to ‘friends’ to allowother members of that social network cast their vote on the poll as wellas friends visiting the personal profile page where the new instance ishosted can also cast their vote.

The user of the client device has 100% control over 1) the time when toinitiate the survey, 2) the place to initiate the survey from a mobilewireless computing device, a mobile phone, a desktop wired into theinternet, or even a handheld remote for expressing an opinion onconsumer products in a store, and 3) the subject matter of the opinionpoll.

In an embodiment, the user interface presents only a simple subjectfield on which the subject matter of the opinion poll will be on. Theuser is enabled to set the opinion poll on even a specific sub-featureof a given subject by filling in the text of the subject field and afterthe subject field is populated, then the client application changes astate of the set of opinion level button icons to allow one of them tobe activated by the user to cast their opinion rating/level on thesubject matter of the opinion poll. No text box is presented to the userfor the user to make additional comments, which later on is hard to readand search through for later users to obtain relevant information from.Further, no need to type lengthy sentences with commands on smartphonekeypads, or sift through lengthy opinions. Thus, the expressed opinionlevel about the subject matter of the opinion poll is encompassed by theuser activating, such as pressing, one of the opinion level buttons andthe client application passing at least this information to the serverand database for tabulation.

FIG. 3 illustrates a diagram of an embodiment of a plug in typeapplication to implement the user-initiated opinion polling system. AnInternet plug in application is configured to work with a browser of theclient device and the server to offer an Internet user viewing a webpage a small transparent mouse-controlled movable overlay graphic 330representing soft buttons that indicate multiple selectable opinionlevel iconic choices (e.g., ‘outstanding’, ‘good’, ‘bad’, ‘terrible’,‘view opinions’, etc.). The overlay 330 may detect the subject matter ofthe opinion poll by interrogating the web page, through any of imageanalysis, Optical Character Recognition, analyzing the coding structureof the web page, or 2-D spatial referencing of the specific location ofthe web page being viewed, and thus, the user can ‘move’ the overlay bydragging it to anywhere on the web page and then press/click one of thesoft opinion level buttons to take an action such as expressing his/hervoice/opinion about the specific content or portion of the web pagelocated immediately under the overlay at that moment, and the subjectfield will be pre-populated by text supplied by the server correspondingto the overlaid subject matter. The user can amend or override thepopulated text, and the application then sends the opinion level,subject matter of the opinion poll.

Opinions expressed by pushing the opinion buttons along with otherinformation such as the specific location of the web page on which theoverlay was located at the time of the buttons were pushed, a contenttag which maybe some of the content under the overlay, the URL, userdemographics, etc. are then sent to the ‘opinioncollection/dissemination website’ on the Internet for storage andutilization in different ways later. Additionally, after an opinion iscast, the plug in may display the tallied results 332 to the client.

Once again, pressing the ‘view opinions’ soft button on the overlayopens a larger non-transparent window, which contents are requested overthe Internet from the ‘opinion collection/dissemination website’,displaying historical opinions expressed by other users about thecontent of the particular location of the web page on which theoverlay/window is placed and/or the entire page/subject displayed,offering the user the options to view opinion statistics, other users'comments, blogs, links, etc. and to add his/her own comments if he/sheso chooses.

In an embodiment, the server applet may be embedded into a third party'smedia space, such as an HTML web page. A browser from a client machinemay interact with the web page that contains the embedded applet, andthen spot the voting buttons presented by a user interface of theapplet. The web page may be served by a web server on any HTML or WAPenabled client device or any equivalent thereof such as a mobile deviceor personal computer. The server serves pages that allow entry ofdemographic details and further pages that allow entry of comments, etc.

Additional Points

In an embodiment, the client device that runs a browser or browser-likefeature with the application as described above sends the opinion levelof a user along with relevant the information, such as those about theproduct or service that is the subject of the opinion and time/date ofthe opinion, etc., to a server to maintain the opinions and keep aprofile of the opinions. The application in the client device may have adetector routine scripted to detect other applications on the clientdevice as well as sensors built into the client device, and then captureinformation from these other applications and the sensors, and when theuser wishes to express an opinion the application then transmit thissensor data and other resident application information along with thesubject matter and opinion level information from the client device overthe network to the server. The client device sensory information mayinclude two or more of the following (e.g., Global Positioning System(GPS) information, Radio Frequency IDentification (RFID) information,Near Field Communication and other similar sensors) and the sensor datais passed to the server so that the application on the server can lookup subject matters in the database close to this user's location, and/orclosely related to the ID of this object to help the user to set/choosethe subject matter of the opinion poll more easily by sending a list ofsuggested subject matters in a drop down menu or by pre-populating thesubject field with these relevant words.

Some additional sensory information transmitted can include: userinformation—location, demographics, etc.; location; time index stamp(e.g., minute 23 of the movie, concert, speech, or other event);picture; barcode; URL; Near Field Communication; Opinion time stamp;device and opinion authentication information; and other similarinformation.

For example, using the GPS information available to the device the useris using in conjunction with the channel number of the TV program theuser is watching and the day/time information, the system can, using thedata available on the world wide web, figure out exactly what part ofwhich TV program the user is expressing his/her opinion on. Thedetermination of the subject matter about which the user is expressinghis/her opinion could also be done as a combination of user selected(e.g., by inputting or selecting from a menu of options information) andthe system's automatic enhancement of the information (using the GPS,RFD, NFC, etc. data) to figure out the exact subject matter about whichopinion(s) is/are being expressed. Using NFS (Near Field Communication)or any scanning technology, the user can choose a subject, or be aidedin choosing a subject, also by touching, swiping, or moving his/herdevice in the proximity of something. The subject may also be chosen bythe user speaking it in to a microphone on his device, which canrecognize speech and convert it to computer data format.

The media space, client applet, and resident software program cooperateto gather data not on whether a particular program/service/product isbeing watched/browsed at but also allows communication on how theperson(s) watching/viewing that particular program/service/product feelsabout that particular program/service/product.

One or more taps on the phone allows some smart phones equipped withsensory devices, such as an accelerometer, to translate an opinion levelto the buttons described above. In such cases one or more taps on thephone, or a gentle vs., strong shaking of the phone could replace theuser's pressing of the iconic buttons to express his/her like/dislike ofa subject.

On the resident client applet, once a button is pressed a unique codeconsisting of information about the event (e.g., TV channel/movie beingwatched, program time, time of the specific opinion expression, eventcode(s), the customer demographics, etc.) as well as the button ID maybe sent in real time, or later, to a website for real time or delayedviewing, analysis and dissemination in a variety of user-defined orautomatically selected mechanisms/formats including but not limited tosearch-based, sorted, listed, graphical, text, animated, overlay onother programs/event-related information, pictures, video, audio, etc.

The system may also use an Appliance-Website Combination. The applianceenables the user to indicate expressions or provide opinions related toan event such as a broadcast TV/radio program, movie being watched in amovie theatre, live theatrical play, sporting event, concert, orlecture, in real-time, as freely, easily and frequently as the userdesires without ever being prompted, requested for or questioned forthat opinion. The appliance can take different forms including anydevice that runs a web browser or a subset of a browser capable ofcommunicating with the world wide web, a smart phone such as an iPhoneor Android running a browser or the special coded applet, a hand-helddevice, buttons on cable/satellite remote controls, a PC/PDA/Mobile,etc.

The web site collects all users' expressions in a privacy-friendlymanner, stores, statistically analyzes and presents them to the visitorsof the site and/or partners (e.g., the broadcasters interested in thedata). The website is scripted to present the data in real-time orstored fashion in raw or analyzed formats. The website is scripted toprovide advanced statistical data search functions. The website isscripted to enable users to establish personal opinion profiles, linksto social network sites, opinion event-based alarms, etc.

The web site features a routine scripted for search & viewopinions/statistics on events (in progress or recorded). The userinterface presented allows the search by name, time, zip code, broadcastchannel, station, program name, program segment, time-counter, opinionquality/quantity, etc. The web-site cooperates with broadcasters todetect for more program tags such as character lines, subject matterdiscussed, etc. and those tags can be included as part of the reportedstatistics. The user interface of the website allows content partners aswell as consumers to view statistics in real-time or recorded, analyzedor raw, sorted per profile or otherwise specified, etc.

The user interface of the website presents screens to a browser of aclient machine to allow a user to Create/Manage/View a votingprofile/history, which linkable to, and share-able with, a socialnetwork profile page on Facebook, Twitter, MySpace, etc. The userinterface of the website allows a user to have real-time viewing offriend's votes, voting/viewing habit/profile, etc. A tracking routineresident for the website sends automated programmable alert messagetransmission (e-mail, text, etc.) to self or ‘friends’ and ‘followers’,e.g. letting them know about the poll/opinion and giving them theopportunity to express their vote. The tracking routine sends themessage to friends, and/or the followers, if the user likes a particularprogram, or program segment, beyond a certain previously definedlikeability threshold. The tracking routine may send e-mail messages tothe broadcasters, etc. about programs or program segments.

The tracking routine may obtain its input from an aggregation module onthe website. The aggregation module monitors one or more ports on theserver that are sent this information on the poll from the clientmachines/appliances. A few hard/soft ‘opinion/action buttons’, for anapplet resident on a client machine exist to express an opinion or voicehis/her approval or disapproval of/about any segment, part or the entireprogram/service/product voluntarily and without necessarily having beenprompted for it. The server hosts the aggregation module that cooperateswith the applets on the all of the client machines/appliances. Theserver also hosts an associated web site where the results of theopinion are posted and aggregated with other opinions on the sameprogram/service/product. Later an intelligence engine at the server canmatch up semantically similar concepts when displaying this surveyresult and other similar semantically similar surveys. A wizard on thewebsite is configured to assist the browser of a user on a clientmachine to download the applet from the website.

The website references a database of content/service/product providersand gives feedback about the content/service/product directly to thesecontent providers as well as publishing the opinions on the website anddistributing the published opinions/survey results be viewable invarious social networks.

The opinion level buttons may be augmented with a view opinion button.Pressing the ‘view opinions’ soft button on the overlay opens a largernon-transparent window, which contents are requested over the Internetfrom the ‘opinion collection/dissemination website.

In the movable overlay graphic embodiment, pressing the ‘view opinions’soft button on the overlay opens a larger non-transparent window, whichcontents are requested over the Internet from the ‘opinioncollection/dissemination website’, displaying historical opinionsexpressed by other users about the content of the particular location ofthe web page on which the overlay/window is placed and/or the entirepage/subject displayed, offering the user the options to view opinionstatistics, other users' comments, blogs, links, etc. and to add his/herown comments if he/she so chooses.

The system enhancing on-line opinions as well as enhancing other mediaspace opinions with appliances allows framing of the question and asurvey for the opinion poll to be either very specific or very loose byallowing the user to select free form what they are expressing theiropinion on, and type in the question and/or survey subject. Later theintelligence engine at the server can match up semantically similarconcepts when displaying this survey result and other similarsemantically similar surveys. Thus, this leaves no opinions unheard andvalue un-realized. The system accurately reflects opinions of youngviewers, minority viewers, as well as adult viewers and non-minorityviewers by tracking which users are voting. If the user is not aprevious user of the system, then the user interface presents a screento obtain the demographic data from the user voting on the poll. Sincethe applet may be virally spread from one user to another user, thesystem can use live video streaming, polling and blogging techniques tocombine qualitative and quantitative survey capabilities. The systemconducts surveys for clients to understand how the public is thinking orreacting to major issues on a national or international scale. Thesystem provides feedback services to content providers and to a socialnetwork. However, this feedback from the user is not solicited i.e. thebutton may be embedded by a user/consumer and then the user may givetheir unsolicited opinion.

ADDITIONAL EMBODIMENTS Example Command Receiver/Re-Transmitter Device

FIG. 5 illustrates a diagram of an embodiment of the user-initiatedopinion polling system on a receiver/re-transmitter device. In anotherembodiment, a receiver/re-transmitter device enables the operator of acontrol device (e.g., an infrared hand-held remote, a PC, a Laptop, aPDA, or a mobile phone running a remote control application) to use thesaid control device to issue voting commands (e.g.,

, etc.) as well as other typical control commands such as programselection, channel selection/change/up/down, ON/OFF, etc. to a TV, cableor satellite TV receiver that only has an infrared input interface. TheInfrared/Wi-Fi/Bluetooth command receiver/re-transmitter deviceintercepts commands, interprets them, stores a copy in its memory forfuture use, sends the appropriate voting codes (e.g.,

, etc.) to the world wide web server (to be stored, analyzed and laterdisseminated), and re-transmits the rest of the commands, using itsInfrared transmitter, to the TV, cable or satellite TV receiver forwhich the command was initially intended by the operator of the controldevice. The Infrared command receiver/re-transmitter device isphysically placed in front of the TV, cable or satellite TV receiver'sInfrared receiving port such that both conditions below are met.

1) The receiver/re-transmitter device's Infrared transmitter has directline of sight to the TV, cable or satellite TV receiver's Infraredreceiver port.

2) The receiver/re-transmitter device also blocks the Infrared receiverport of the TV, cable or satellite TV receiver such that only thesignals it (the receiver/re-transmitter device) sends can be received bythe TV, cable or satellite TV receiver's Infrared port. Blocking theline of sight of any other Infrared signals to the TV, cable orsatellite TV receiver port will ensure that only the signals that gothrough, and are re-transmitted, by the command receiver/re-transmitterdevice get to the intended target (TV, cable or satellite TV receiver),preventing undesirable interferences between different Infraredtransmitters.

The logical operation of such device is provided in FIG. 5, whichoutlines an example infrared commands and information in thereceiver/re-transmitter device.

In step 2005: Any device (e.g., an infrared remote control, a PC, aLaptop, a PDA, or a mobile phone running a remote control application)that is capable of issuing commands (using an Infrared, Bluetooth orWi-Fi interface) can, at any time, issue a voting command (e.g.,

, etc.) about the program being viewed, or a typical TV control command(e.g., channel change, program selection, volume control, ON/OFF, menu,information, on-demand, etc.) to control a TV, cable or satellite TVreceiver that is only infrared enabled, provided that the actual commandcodes issued are those defined by the target device manufacturer.

In step 2006: Commands issued by the device described above (e.g., aninfrared remote control, a PC, a Laptop, a PDA, or a mobile phonerunning a remote control application, etc.) are transmitted over theairwaves (using Infrared, Bluetooth or Wi-Fi technology).

In step 2010: The Wi-Fi or Bluetooth interface receives the commands (inbi-directional mode it also issues all necessary handshake and otherprotocol conforming commands as needed).

In step 2020: The Infrared receiver receives the commands (inbi-directional mode, if applicable, it also issues all necessaryhandshake and other protocol conforming commands as needed).

In step 2030: The received commands are parsed and the actual codesidentified by the system.

In step 2040: The Command Interpretation and Action Module interpretseach command to identify the action(s) that are to be taken by thesystem, if any. This may be done using a system that utilizes atwo-dimensional finite state machine. In the cases that the command is avoting command (e.g.,

, etc.) the required action is generally sending the vote code alongwith the information of the channel/program that is being watched, thetime/day and any other relevant and available demographics to the serveron the worldwide web. This is done using the Voting/Voicing DeviceCommunication Format discussed earlier. A copy of all commands islocally saved in the memory so that the system always knows what channelis being watched (was last selected by the operator) and what program isbeing watched and/or being voted on.

In step 2050: The Wi-Fi/Bluetooth transmitter transmits the commands ithas received from the Command Interpretation and Action Module, in mostcases in essence “re-transmitting” what was received by the Infrared,Wi-Fi or Bluetooth receiver(s) described earlier.

In step 2060: The Infrared transmitter transmits (in essence“re-transmits”) the commands it has received from the CommandInterpretation and Action Module. In most cases, they will be identicalto those issued by the operator, intended for the TV, cable or satellitereceiver, and received by the Infrared receiver of the commandreceiver/re-transmitter device in module 2020.

FIG. 6 illustrates a diagram of an embodiment of a user expressing anopinion in the client device and its application command structure.

In step 1010: A user of a product or service is provided software- orhardware-based access to opinion expression buttons such as:

or similar buttons. These buttons may be provided to the user on hispersonal computing or communication device (e.g., a mobile phone, PC,laptop, desktop, browser running on a device, a PDA running a browser orrunning a downloaded application, a TV/satellite remote control, amobile phone that can communicate with the world wide web, any otherhardware or software device with

opinion level buttons, etc.) The product or service of interest to theuser, which may or may not be in use by the user at the time couldbe: 1) anything physical (e.g., a retails stores consumer product, apoint of sales display, a billboard, etc.), 2) anything in thecyberspace (e.g., a web page, a website, software package, etc.), 3) anentertainment item (e.g., broadcast or recorded TV or radio program,cable, satellite, videogame, etc.) 4) anything else, physical orlogical, a user may want to express his like/dislike about. The userdesires to express his/her opinion about the product/service, or aparticular part of the product or service (e.g., a moment in the TVprogram, a specific location/content of a web page, a particular item ona restaurant menu, a particular item on a retail point of sale display,etc.) and knowing that he has access to

buttons he understands that he can, utilizing the said buttons, expresshis like/dislike or opinion about the subject.

In step 1020: When the user presses one of the opinion expressionbuttons (e.g.,

, etc.), a specific subject is chosen, by the system automatically, orby the user manually, or a combination of user input and system figuringout certain subject-related information automatically.

In step 1030: Selection of the subject matter about which the userexpresses his/her opinion can be done manually by providing the userwith a means to input a subject code tag associated with the subjectmatter, or entering relevant information (e.g., program name, channelnumber, webpage URL, etc.) or by the system automatically determining onwhat item or subject the user is expressing opinion. For example, usingthe GPS information available to the device the user is using inconjunction with the channel number of the TV program the user iswatching and the day/time information, the system can, using the dataavailable on the world wide web, figure out exactly what part of whichTV program the user is expressing his/her opinion on. The determinationof the subject matter about which the user is expressing his/her opinioncould also be done as a combination of user selected (e.g., by inputtingor selecting from a menu of options) information and the system'sautomatic enhancement of the information (using the GPS, RFD, NFC, etc.data) to figure out the exact subject matter about which opinion(s)is/are being expressed. Using NFC (Near Field Communication) or anyscanning technology, the user can choose a subject, or be aided inchoosing a subject, also by touching, swiping, or moving his/her devicein the proximity of something. The subject may also be chosen by theuser speaking it in to a microphone on his device, which can recognizespeech and convert it to computer data format.

In step 1040: Once the subject matter is chosen and available to thesystem, the user's pressing of any of the opinion expression/votingbuttons (e.g.,

.) will cause an opinion about the specific item to be sent to a websitewhere it will be further stored, disseminated, statistically analyzed,presented to users through the worldwide web, etc. As an alternative topressing the iconic button, in some devices and modes the user can tapon the device, or shake the device gently vs. roughly (or anything inbetween) to express the same meaning of the iconic buttons. In thesedevices, the software assigns a tap or gentle shake to the button at oneend of the opinion spectrum and four or more taps or rough shake to anopinion at the other extreme end of the opinion spectrum, whileautomatically training itself to assign intermediate number of taps orshakes to the corresponding intermediate opinions.

In step 1050: Sending the user opinion information can be done by anydevice, on or off the Internet, utilizing a command structure of thekind described in section “Device Voting/Voicing Device CommunicationFormat”.

In step 1060: Once the user opinion expression/vote is sent to thewebsite, the system continues to monitor responses from the www serverin form of an “Acknowledge or receipt of valid opinion/vote”. Receipt ofsuch acknowledgement is not required as the server system may or may notalways send such acknowledge responses. If the server does not send an‘Acknowledge’ message, the opinion expression system will continue tomonitor the server initiated communication until such time as either anacknowledge is received or the user initiates another opinion expressionprocess, which will start the whole process from the top again.

In step 1065: If an acknowledge is not received but the user hasinitiated another opinion expression session by pressing one of thebuttons:

, the process will start again for the new opinion being expressed.

In step 1070: If an ‘Acknowledge’ is received, the system checks foravailability of a mechanism to identify the user of the receipt of theacknowledge message from the server (e.g., an LED, a software icon, alight, vibration, tone, beep, audio or visual message, etc.).

In step 1080: If a mechanism such as one described in section 1070exists, then the system utilizes that mechanism and the user isidentified of the server acknowledge (e.g., tone sounded, icon appears,message sent/appeared, LED goes ON, etc.).

In step 1090: Once a command that contains a user expression or voteabout an item has been sent to the server, and regardless of receptionof an acknowledge or such acknowledge having been communicated to theuser, the opinion expression/voting system is ready to accept anotheruser opinion about another subject, item, or the same, again.

Voting/Voicing Device Communication Format

Different devices can communicate with the server through the Internetor other wide area networks such as the telephone or mobile phonenetworks. In addition to following the existing necessary applicableprotocols (e.g., TCP/IP and H/XTML for the Internet, Text SMS protocolfor mobile devices, etc.), each voting/voicing device sends certaincommand(s) and voting/voicing information to the server each and everytime a user decides to express an opinion or vote about or on an item.The size of the command codes are variable and not necessarily similar.The logical format of each command is described below; however, thecommand structure described below can both be expanded to contain moresections, or shrunk to include fewer sections as necessary.

Serial Number Command Segment Content 1 Command ID Code 2 Number ofCommand Sections to Follow 3 Voting Device Type ID/Name (e.g., MobilePhone, Browser, TV Remote, other appliance, etc.) 4 Voted Item SpecificID (Descriptor, Web content, product/service/event name or code, URLaddress, etc.) 5 Specifics of the Voted Item (e.g., tag, specific webpage location or link, etc.) 6 Actual Vote/Opinion Code (e.g., 

 Buttons) 7 Vote Demographics (e.g., Date/Time, GPS, User ID,Event-Indexed Time Stamp, etc.) 8 Vote Code (e.g., a unique numberassociated with this vote, assigned by the voting device) 9 End VoteCommand ID

DEFINITIONS

-   -   1) ‘Command ID Code’ specifies that the following parts of the        packet(s) are associated with the voting/voicing opinion        product/service. It also includes automatically generated codes        that will be used by the server to authentication of the command        as one generated by a user or a computer, etc.    -   2) ‘Number of Command Sections to Follow’ specifies how many        command sub-section this command packet contains    -   3) ‘Voting Device Type ID/Name’ specifies what the device that        is sending the command to the website is, such as a mobile        phone, browser, a TV/Satellite remote control, a voting        appliance, etc.    -   4) ‘Voted Item Specific ID’ specifies about what item the user,        using the device, is expressing opinion. Examples are a specific        location, item, person, an attribute of a person's, thing's or        location's, location/item of a web page, an event, a broadcast,        a movie, play, and event, a physical or imaginary item that has        been assigned a ‘tag’ to identify it for voting/voicing opinion,        ANYTHING, ANYONE, ANYWHERE. This could also be a URL or any        other item/event/content tag/ID.    -   5) ‘Specifics of the Voted Item’ further describes the item        being voted on.    -   6) ‘Actual Vote/Opinion Code’ specifies which user expression        button (e.g.,        ) was chosen by the user.    -   7) ‘Vote Demographics’ specifies the exact time of the vote,        expressed in local date/time format (e.g., Jan. 2, 2013, at        4:21:45 PM), event-indexed time stamp which is the time within        the event, indexed from the start of the event (e.g., at minute        21 and 33 seconds from the start of the event) followed by other        demographics information that might be available to the device        to send such as: geographical location information or GPS        information, User ID (if the user is registered with the service        and/or is willing to provide this information voluntarily), etc.    -   8) ‘Vote Code’ is a unique number associated to this vote by the        voting device. It is intended to prevent multiple counting of        the same vote coming from the same device if so desired by the        server.    -   9) ‘End Vote Command ID’ identifies the end of this command        packet.

Example Expressing a 100% User-Initiated Opinion on a Web Page orSpecific Content of a Web Page Using the Buttons ()

FIGS. 7 a and 7 b illustrate a diagram of an embodiment of theuser-initiated opinion polling with a transparent graphic overlay. Theuser of a personal computer, a laptop or any other device that runs abrowser or browser-like software able to access the world wide web, orany localized web-type network, is provided a small transparent desktopbrowser overlay displaying the buttons: (

). The said overlay automatically works in conjunction with a web serveron the World Wide Web (or the local network). The user can select andthe drag and move the overlay to anywhere over an active web page (beingbrowsed) in order to initiate the process of expressing/registeringhis/her opinion on, or to input textual comments about, the content ofthe specific location of the active web page on which the overlay islocated at the time. The “T” button (or one similar) will perform atleast 3 functions: 1) it opens a pop-up window in which comments, madeby other users about the specific location of the active web-page(stored on the server in the world wide web) are listed chronologically,2) enables the user to add a new text-based comment which is thenautomatically sent to and subsequently stored on the server on the worldwide web, and 3) provides the user, in the new pop-up type window, avisual access to all the one-click

opinion data, charts, graphs, etc. of other prior users who haveexpressed opinions before. The logical flow chart for the userexpressing opinion device is provided in FIGS. 7A and 7B.

In step 3010, the user has access has to

(or similar) buttons, that are provided on a transparent softwareoverlay, on his/her computer “desktop”, or other device on which he canbrowse, while browsing the Internet or an Intranet. The user also has anopinion about a web page or a specific content of a given web page(e.g., a text, a picture, video clip, a diagram, etc.) he/she isbrowsing. The transparent overlay software, which may be running in thebackground, always calculates, and therefore “knows”, the position onthe user's computer or device “desktop” it is, and was last, located.

In step 3020, the user checks if the transparent overlay showing theopinion level buttons “

” is located exactly on the location of the content of his/her intereston the active web page being browsed.

In step 3030, the user selects, drags, and then moves the transparentoverlay showing the opinion level buttons “

” until it is located on the part of the web page that contains theuser's subject of interest (about which the user wants to express anopinion). This part of the web page could be text, graphics, video, alink or any other valid web content.

In step 3040, once the transparent overlay showing the opinion levelbuttons “

” is located on the content of the web page that is of the user'sinterest, the user can at any time, so long as the overlay has not beenmoved to a new location, express an opinion using the buttons that areavailable on the overlay. The system, automatically calculates and readsthe location of the overlay as well as the content of the web page underit; therefore, any user opinions expressed can be appropriately taggedwith the correct and necessary information and sent to the server on theworld wide web using the format expressed in section “OpinionVoting/Voicing Device Communication Format” of this document.

In step 3050, when the system detects the user has pressed the ‘T’

button, indicating the user's desire to express an opinion textually,the system will perform the functions described in the followingsection, 3060.

In step 3060, the system performs multiple tasks, such as, but notlimited to the following: 1) it opens a pop-up window in which comments,made by other users about the specific location of the active web-page(stored on the server in the world wide web) are listed chronologically,2) enables the user to add a new comment which is then automaticallysent to and subsequently stored on the server on the world wide web, and3) provides the user, in the new pop-up type window, a visual access toall the one-click

opinion data, charts, etc. of other prior users who have expressedopinions before.

In step 3070, the transparent overlay containing the opinion levelbuttons “

” is automatically “minimized”, if needed, and/or moved back to theinitial position on the user's computer or device “desktop” it had priorto this particular session of the user's expressing his/her opinionabout a specific part of the active web page.

In step 3080, the transparent overlay containing the opinion levelbuttons “

” will remain where it is until the user moves it (by an action such asclicking and dragging it) to a new location or “closes” it indicatingthe user is done with this session of expressing his/her opinion about aweb page content.

In step 3090, the system opens up a pop-up window displaying the serverversion of the same web page, that is automatically obtained over theInternet/Intranet by the system, in which all other users' opinions todate about the said page are indicated, graphically and/or in colorfultext representing the opinion level buttons “

” clicks. Representation of the historical opinion click data may takedifferent graphical/textual formats (e.g., histograms, charts, bars,iconic, etc.), selectable by the user in real time or as set in his/herprofile should he have one. The system also logs the user's opinion voteon its server, aggregating its database with the new opinion cast by thecurrent user.

In step 3100, for as long as none of the opinion level buttons

are pressed or the transparent overlay is not moved to a new location,the user can express his/her opinion, like/dislike, about the locationof the web page on which the overlay is located. The softwareresponsible for the overlay operation is constantly checking for buttonspressed, or overlay moved or not.

In step 3200, upon detecting a given opinion level button (any of

) pressed by the user, the overlay software performs different tasksdepending on whether the pressed button is one of the four graphicallike/dislike buttons (i.e.,

) or the button “T”

indicating the user's desire to input textual opinion or like/dislikecomment. The system therefore checks for the button type so that theappropriate action(s) is/are taken depending the button that waspressed.

In an embodiment, the software used to facilitate the protocol andalgorithms associated with the process can be embodied onto amachine-readable medium. A machine-readable medium includes anymechanism that stores information in a form readable by a machine (e.g.,a computer) but not transitory signals. For example, a machine-readablemedium includes read only memory (ROM); random access memory (RAM);magnetic disk storage media; optical storage media; flash memorydevices; DVD's, EPROMs, EEPROMs, FLASH, magnetic or optical cards, orany type of media suitable for storing electronic instructions. Theinformation representing the apparatuses and/or methods stored on themachine-readable medium may be used in the process of creating theapparatuses and/or methods described herein. Any portion of the serverimplemented in software and any software implemented on the clientdevice are both stored on their own computer readable medium in anexecutable format.

Some portions of the detailed descriptions above are presented in termsof algorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like. These routines, algorithms, etc. may bewritten in a number of different programming languages. Also, analgorithm may be implemented with lines of code in software, configuredlogic gates in software, or a combination of both. The applications andalgorithms may be scripted in any number of software program languages.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the above discussions, itis appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers, or other suchinformation storage, transmission or display devices.

While some specific embodiments of the invention have been shown, theinvention is not to be limited to these embodiments. For example,Hardware logic, such as Boolean logic gates, may be used to implementthe same functions as software coding and vice versa. Also, combinationsof logic and software may be used to implement the modules andalgorithms herein. The invention is to be understood as not limited bythe specific embodiments described herein, but only by scope of theappended claims.

1. An apparatus, comprising: an application resident on a client device that has a communication circuit, where the application is configured to use the communication circuit to communicate over a network with a server with a database, where the application is configured to use the communication circuit to cooperate with the server to enable a user of the client device to conduct a public-initiated open-ended poll that is event-time specific in duration to express 1) likes, 2) dislikes or 3) any combination of the two about anything and anyone associated with the event, where the application is configured to limit a time period when the user can cast an opinion level about the event; a module configured to present a subject field of a user interface to enable the user of the client device to choose exactly about what subject matter to express his/her opinion on, and then to express his/her opinion level by activating a single opinion level button that has a very specific meaning, where the single opinion level button is part of a limited set of opinion level buttons each with a very specific meaning; and where the application via the communication circuit of the client device is configured to communicate any content entered into the subject field of the user interface to set the subject matter of the open-ended public-initiated poll over the network to the server, and a software program resident on the server is configured to takes in any details of the open-ended public-initiated poll and store them into the database, and the server aggregates the opinion level expressed by activating the opinion level button with all of the other cast opinion levels previously submitted by users of different client machines on this open-ended public-initiated poll, where the server is configured to feed the aggregation of the cast opinion levels back to each of the client devices in near real-time, which is less than thirty seconds from the time that a first opinion level expressed is received by the server, to be displayed on a display screen of that client device, where after the subject matter is set and the aggregation of the cast opinion levels is sent back the first time, then the server is configured to then periodically supply a current aggregation of the cast opinion levels back to each of the client devices to update the display of these cast opinion levels, where any portion of the server implemented in software and any software implemented on the client device are both stored on their own computer readable medium in an executable format.
 2. The apparatus of claim 1, where the application resident on the client device has a template for the open-ended public-initiated poll to allow greater specificity and user customizing of a subject matter open-ended public-initiated poll to the user initiating this poll and has the user interface coded to present the subject field, where the application is configured to set a duration of voting to express an opinion on the event, which is time specific in duration from a beginning of the event until up to ten minutes after the event concludes; and thus, voting to cast the opinion level can occur at a start of an event, such as a live Television program, voting can occur during a conducting of the event, and voting can occur up to ten minutes after the event concludes.
 3. The apparatus of claim 1, where the server is configured to recognize content in the subject field as choosing and setting the subject matter of the open-ended public-initiated poll, where the content of the subject field is solely initiated and decided by the user, and not pre-selected by a third party and then presented to the user of the client device to give their opinion about that pre-selected subject matter of the open-ended public-initiated poll, where the user interface and the subject field are configured in the application to enable the user of the client device to select an overall subject matter and even specific features about that subject matter, which the user wishes to create the open-ended public-initiated poll on, and the module is configured to enable the user of the client device to choose exactly about what subject matter to express his/her opinion on, and then to express his/her opinion level by activating the single opinion level button that has the very specific meaning, where the single opinion level button is part of the limited set of opinion level buttons each with a very specific meaning.
 4. The apparatus of claim 1, where the application is further configured with a routine to allow a user to attach an optional comment that can accompany the user's cast opinion level including but not limited to expression of i) like, ii) dislike, or iii) neutral about the content of any instant in the event; and therefore, the application is configured for the user to expresses his/her opinion by the single button activation by way of i) a tap/click on the button, or a shake of the device corresponding to the button of choice, or speak the button of choice into the device with a simple word(s) opinion, and the user interface presents a field to attach a forty characters or less long comment to the user's cast opinion level too, as desired.
 5. The apparatus of claim 1, where the server is further configured with a routine to allow an event owner/manager to any of i) upload their own reward and ii) utilize a template to create a reward, and the server is further configured to electronically distribute the reward, including coupons, to those users of client devices who are expressing opinions during the event.
 6. The apparatus of claim 1, where the application is further configured with a routine to capture i) each user's exact opinion level and ii) an exact time the opinion level and then cooperates with the communication circuit of the client device to send these to the server, which includes all of this information as well as includes a running sum of all the cast opinion levels, which is graphically displayed as any of i) a graph and ii) a chart on the display of each user's client device, where the application cooperating with the server automatically sets the subject matter of the open-ended public-initiated poll based on the exact time the user casts their opinion level.
 7. The apparatus of claim 6, where the server and the application on the client device are configured to cooperate such that where the graph or the chart may be separated out and displayed on either a universal or regional basis of cast opinion levels, and in either a complete or partial chart format of aggregated opinions and the user interface of the application presents these options as selectable by any of the user, an event manager, and an event broadcaster, which is then dynamically generated and presented to viewers on the display of their client device, which includes but is not limited to a smartphone, a smart watch, a network appliance, or online on a computer, and in the near real time.
 8. The apparatus of claim 6, where the application is further configured to solicit, via a field, menu, or other mechanism, what is a specific content of the event that the user is expressing an opinion level on, where a software program resident on the server is coded to take in any details of the open-ended public-initiated poll, aggregate those details with any open-ended public-initiated poll data for this open-ended public-initiated poll already stored in the database, and categorize those details, and the server applet on the server cooperates over a wide area network with two or more client machines each having resident applications, and then the server checks the database to see 1) if the subject content, exactly as chosen or expressed, exists in the database as well as 2) if similar titles of subject content exist in the database, then the server returns the existing open-ended public-initiated poll in a list presented by the application for the user to select from if they choose, and when an existing poll is selected, the server returns the existing open-ended public-initiated poll and its statistics appear in the form of a chart.
 9. The apparatus of claim 6, where a server applet is configured to compare each user's cast opinion level to their user profile stored in the database cooperating with the server to present anonymized demographics data of who by percentage of user's voting, by demographic categories, liked, disliked, or was neutral to the subject of the open ended public-initiated poll.
 10. The apparatus of claim 1, where the application cooperating with the server is configured to synchronize opinion levels cast with time-sensitive, unscheduled topics via use of high-frequency synchronization codes, which are provided to content providers that are subsequently embedded in content prior to distribution of the content of the event.
 11. An apparatus, comprising: an application resident on a client device that has a communication circuit, where the application is configured to use the communication circuit to communicate over a network with a server with a database, where the application is configured to cooperate with the server to enable a user of the client device to participate in a topic of opinion to express 1) likes, 2) dislikes, 3) neutral, or 4) any combination of the three about anything and anyone associated with a product or a service, where the application is configured to solicit an opinion based on one or more geographical proximity triggers; a module configured to present the topic of opinion on the product or the service to the user of the client device, where the application is configured to cooperate with the communications circuit in the client device to use a wireless technology including any of NFC, Bluetooth, and 802.11 wireless protocol, to sense if a first geographical proximity trigger is in range to indicate that the topic of opinion regarding a nearby product and/or service is on record in the databases associated with the server, and after sensing the topic of opinion, the application requests that the server provide the client device with a snapshot of other users' opinions to date about the product or the service, where the application is configured for the user to be able to cast his/her opinion level about the product or the service by activating a single opinion level button that has the very specific meaning, where the single opinion level button is part of the limited set of opinion level buttons each with a very specific meaning.
 12. The apparatus of claim 11, where the application is configured to cooperate with the communications circuit in the client device to communicate with a beacon device having a first geographical proximity trigger, including but not limited to a Point-of-Sale terminal, a Bluetooth device, a Near Field Communication (NFC) tag, or a Radio Frequency IDentification (RFID) tag, the client device receives one or more identifiers or URIs from the beacon device to allow the server to find topic of opinion about the product or service.
 13. The apparatus of claim 11, where the application is configured to use a communications circuit in the client device to communicate wirelessly with a beacon device having a first geographical proximity trigger, and the server is configured to retrieve one or more topics associated with one or more identifiers or URIs from the beacon device, and each returned topic contains both a GPS coordinate and solicitation radius, where when the client device enters the solicitation region of a topic, then the application on the client device marks the topic as proximity-active, and the application will solicit the opinions of the user of the application based on geographical proximity triggers when the client device, and hence opinion giver, is outside of a geographical area defined by the solicitation radius.
 14. The apparatus of claim 13, where when the module receives confirmation that the subject matter of the topic of opinion is chosen by the user, then the module offers the user with a limited number, less than ten, of opinion level buttons, which an activation of a given opinion level button registers a certain level of opinion including bad, good, and excellent, and the activating of that opinion level button is recognized by the module to both set the subject matter of the topic of opinion and the user's opinion level, and the module then transmits the subject matter, opinion level, the time and date, and any client device sensor information collected by the module over the network to the server.
 15. A computing-device implemented method in a client-server environment to facilitate an open-ended public-initiated poll on an event, comprising: initiating the open-ended public-initiated poll on a media space, where a user of a client device in the client-server environment initiates the open-ended public-initiated poll on the event and also participates then in that open-ended public-initiated poll; conducting the user initiated open-ended public-initiated poll on the media space on a server; limiting the user to express an opinion level about anything associated with the event by activating of one of a set of i) software-based opinion level buttons or ii) hardware-based opinion level buttons, and iii) any combination of both, by 1) touching one of the set of opinion level buttons, 2) speaking into the client device and then the opinion level being translated via a speech to text application, 3) shaking the client device a particular number of times, or 4) tapping on the client device and the tapping being translated to a correlating opinion level button, in order to enable the user to express their opinion level about the event, where the user interface presents a field to attach a forty characters or less long comment to the user's cast opinion level; limiting a time period when the user can cast the opinion level about the event; transmitting details over a network to the server and then the server taking in any details of the open-ended public-initiated poll on the event; aggregating the opinion level expressed by the activating the one opinion level button with all of the other cast opinion levels previously submitted by users of different client machines on this open-ended public-initiated poll; feeding the aggregation of the cast opinion levels back to a plurality of client devices in near real-time, which is less than thirty seconds from the time that a first opinion level expressed is received by the server, to be displayed on a display screen of that client device; and after the subject matter is set and the aggregation of the cast opinion levels is sent back the first time, then periodically supplying a current aggregation of the cast opinion levels back to each of the client devices to update the display of these cast opinion levels, where any portion of the server implemented in software and any software implemented on the client device are both stored on their own computer readable medium in an executable format.
 16. The computing-device implemented method in a client-server environment of claim 15, further comprising: allowing a greater specificity and user customizing of a subject matter open-ended public-initiated poll by enabling the user both initiate this poll and set the subject matter of this open-ended public-initiated poll; and setting a duration of voting to express an opinion on the event, which is time specific in duration from a beginning of the event until up to ten minutes after the event conclude; and thus, voting to cast the opinion level can occur at a start of an event, such as a live Television program, voting can occur during a conducting of the event, and voting can occur up to ten minutes after the event concludes.
 17. The computing-device implemented method in a client-server environment of claim 16, further comprising: allowing an event owner/manager to any of i) upload their own reward and ii) utilize a template to create a reward; and electronically distributing the reward, including coupons, to those users of client devices who are expressing opinions during the event.
 18. The computing-device implemented method in a client-server environment of claim 16, further comprising: capturing i) each user's exact opinion level and ii) an exact time the opinion level and then cooperates with the communication circuit of the client device to send these to the server, which includes all of this information as well as includes a running sum of all the cast opinion levels, which is graphically displayed as any of i) a graph and ii) a chart on the display of each user's client device.
 19. The computing-device implemented method in a client-server environment of claim 16, further comprising: comparing each user's cast opinion level to their user profile stored in the database cooperating with the server to present anonymized demographics data of who by percentage of user's voting, by demographic categories, liked, disliked, or was neutral to the subject of the open ended public-initiated poll.
 20. The computing-device implemented method in a client-server environment of claim 16, further comprising: synchronizing opinion levels cast with time-sensitive, unscheduled topics via use of high-frequency synchronization codes, which are provided to content providers that are subsequently embedded in content prior to distribution of the content of the event.
 21. An apparatus, comprising: an application resident on a wearable electronic client device that has a communication circuit and a motion detector, where the application is configured to use the communication circuit to communicate over a network with a server with a database, where the application is configured to cooperate with the server to enable a user of the client device to capture and log a movement of the wearable electronic client device via the motion detector, where a first algorithm is configured to correlate the captured and logged movement to an expressed opinion level of the user wearing the wearable electronic client device, where the captured and logged movement of the wearable electronic client device is transmitted to the server via the communication circuit. 